一般讨论 django中的annotate用法请教 3 条回复 · 1895 次阅读参与讨论 ↓举报 当我使用annotate查询时,返回不了结果。是什么原因? 参与讨论 3 让交流从你的想法开始登录后即可发表评论,与开发者一起探讨。登录评论 → 社区成员75962023-05-18 queryset = models.Inbound.objects.filter( i_date__gte='2022-03-01', i_date__lte='2023-03-31', s_code__in=models.MaterialsTypeInfo.objects.filter(my_type=2, c_name='深圳市').values('s_code'), b_code__in=models.BranchInfo.objects.filter(c_name='深圳市').values('b_code'), m_code__in=models.Inbound.objects.values('m_code').filter( i_date__gte='2023-01-01', i_date__lte='2023-03-31', s_code__in=models.MaterialsTypeInfo.objects.filter( my_type=1, c_name='深圳市', ).values('s_code'), b_code__in=models.BranchInfo.objects.values('b_code').filter(c_name='深圳市'), ).distinct(), ).annotate( order_count=Sum(Case(When(i_date__gte='2023-03-01', i_date__lte='2023-03-31', then=1), default=0, output_field=IntegerField()))).values('m_code','order_count').order_by('m_code') 这是ORM查询的完整语句 展开回复
社区成员75962023-05-18 queryset = models.Inbound.objects.filter( i_date__gte='2022-03-01', i_date__lte='2023-03-31', s_code__in=models.MaterialsTypeInfo.objects.filter(my_type=2, c_name='深圳市').values('s_code'), b_code__in=models.BranchInfo.objects.filter(c_name='深圳市').values('b_code'), m_code__in=models.Inbound.objects.values('m_code').filter( i_date__gte='2023-01-01', i_date__lte='2023-03-31', s_code__in=models.MaterialsTypeInfo.objects.filter( my_type=1, c_name='深圳市', ).values('s_code'), b_code__in=models.BranchInfo.objects.values('b_code').filter(c_name='深圳市'), ).distinct(), ).annotate( order_count=Sum(Case(When(i_date__gte='2023-03-01', i_date__lte='2023-03-31', then=1), default=0, output_field=IntegerField()))).values('m_code','order_count').order_by('m_code') 这是ORM查询的完整语句 展开回复
参与讨论 3
queryset = models.Inbound.objects.filter( i_date__gte='2022-03-01', i_date__lte='2023-03-31', s_code__in=models.MaterialsTypeInfo.objects.filter(my_type=2, c_name='深圳市').values('s_code'), b_code__in=models.BranchInfo.objects.filter(c_name='深圳市').values('b_code'), m_code__in=models.Inbound.objects.values('m_code').filter( i_date__gte='2023-01-01', i_date__lte='2023-03-31', s_code__in=models.MaterialsTypeInfo.objects.filter( my_type=1, c_name='深圳市', ).values('s_code'), b_code__in=models.BranchInfo.objects.values('b_code').filter(c_name='深圳市'), ).distinct(), ).annotate( order_count=Sum(Case(When(i_date__gte='2023-03-01', i_date__lte='2023-03-31', then=1), default=0, output_field=IntegerField()))).values('m_code','order_count').order_by('m_code')
这是ORM查询的完整语句