如何从一个django orm查询中获取多个值?
我们如何从单个查询中获得当月&team=3计数,上月&team=3计数?您可以使用如何从一个django orm查询中获取多个值?,django,postgresql,django-orm,Django,Postgresql,Django Orm,我们如何从单个查询中获得当月&team=3计数,上月&team=3计数?您可以使用truncmount获得每月筛选的数据。然后可以生成第一个和最后一个索引值 class Test(ModelBase): team = models.IntegerField(null=True) id created_at team 1 2018-02-14 10:33:46.307214+05:30 1 2 20
truncmount
获得每月筛选的数据。然后可以生成第一个和最后一个索引值
class Test(ModelBase):
team = models.IntegerField(null=True)
id created_at team
1 2018-02-14 10:33:46.307214+05:30 1
2 2018-02-24 10:41:40.307681+05:30 1
3 2018-03-14 12:00:02.748088+05:30 1
4 2018-03-12 18:05:33.598297+05:30 3
5 2018-03-12 18:04:00.694774+05:30 3
6 2018-04-14 11:24:48.554993+05:30 3
7 2018-04-14 11:42:27.442441+05:30 3
8 2018-05-11 15:53:21.528813+05:30 3
9 2018-05-08 15:49:58.684201+05:30 3
您可以使用
truncmount
获得每月筛选的数据。然后可以生成第一个和最后一个索引值
class Test(ModelBase):
team = models.IntegerField(null=True)
id created_at team
1 2018-02-14 10:33:46.307214+05:30 1
2 2018-02-24 10:41:40.307681+05:30 1
3 2018-03-14 12:00:02.748088+05:30 1
4 2018-03-12 18:05:33.598297+05:30 3
5 2018-03-12 18:04:00.694774+05:30 3
6 2018-04-14 11:24:48.554993+05:30 3
7 2018-04-14 11:42:27.442441+05:30 3
8 2018-05-11 15:53:21.528813+05:30 3
9 2018-05-08 15:49:58.684201+05:30 3
您可以使用允许使用或条件执行查询的:
from django.db.models.functions import TruncMonth
from django.db.models import Sum
queryset = Test.objects.all().annotate(
month=TruncMonth('created_at')).values('month').annotate(
number=Sum('team'))
您可以使用允许使用或条件执行查询的:
from django.db.models.functions import TruncMonth
from django.db.models import Sum
queryset = Test.objects.all().annotate(
month=TruncMonth('created_at')).values('month').annotate(
number=Sum('team'))
您只需使用链查询集进行筛选。只需获取您的
当前月份
和上个月
(它应该是整数)和
您只需使用链查询集进行筛选。只需获取您的
当前月份
和上个月
(它应该是整数)和
你能发布模型类吗?当然,我会添加模型类。你能发布模型类吗?当然,我会添加模型类。不,我想要这个月的输出,团队3的总计数是5不,我想要这个月的输出,团队3的总计数是5,我们可以从这个查询中得到每个月的数据吗?通过上面的查询,我们一起过滤。但是我们可以通过一个查询为当前月份、最后一个月份执行此操作吗?@BharatBittu您可以添加
order\u by('created\u at')
这将按日期对输出进行排序。这没关系:)非常感谢:)类似于这样的pubs=Publisher.objects.annotate(低于\u 5=低于\u 5)。annotate(高于\u 5=高于\u 5)我们可以从这个查询中得到每个月的数据吗?通过上面的查询,我们将一起进行筛选。但是我们可以通过一个查询为当前月份、最后一个月份执行此操作吗?@BharatBittu您可以添加order\u by('created\u at')
这将按日期对输出进行排序。这没关系:)非常感谢:)类似于这样的pubs=Publisher.objects.annotate(低于\u 5=低于\u 5)。annotate(高于\u 5=高于\u 5)运行此查询后,每个月如何获取?只需使用@NeverWalkliner。您不需要链接,只需将两个条件放在一个调用中即可。运行此查询后,每个月如何获取?只需使用@NeverWalkliner。您不需要链接,只需将两个条件放在一个调用中即可。