django-每天获得第一张记录
我有一个销售模型:django-每天获得第一张记录,django,django-queryset,Django,Django Queryset,我有一个销售模型: 售货员 销售的产品 日期 我想为每个日期和每个卖家获得第一笔销售,我如何才能做到这一点? 谢谢考虑到问题中发布的模型,Django ORM查询将是: first_sale = Sales.objects.order_by("Saler", "Date").distinct("Saler") 未测试,但我会尝试(我假设销售日期字段名为sale\u date,类型为Datetime): filter将搜索限制在给
- 售货员
- 销售的产品
- 日期
谢谢考虑到问题中发布的模型,Django ORM查询将是:
first_sale = Sales.objects.order_by("Saler", "Date").distinct("Saler")
未测试,但我会尝试(我假设销售日期字段名为
sale\u date
,类型为Datetime):
将搜索限制在给定的卖家(filter
)和给定的日期(请参见卖家
表达式:)\u日期
和order\u by
将为您提供当天的第一天first
latest\u sale=Sales.objects.order\u by(“Saler”,“Date”).distinct(“Saler”)
谢谢,但是有了这个解决方案,我必须在每个日期和每个Saler上循环?我有大约250次约会和50次销售我不知道你到底想要达到什么,你没有给出足够的细节。但基本上,是的。如果您想要的是销售人员和日期的某种仪表板,那么您可能应该在数据库中创建一些表来保存统计信息,并每天填写一次。或者直接在数据库中创建视图。在我看来,Django ORM并不是执行此类查询的最简单方法。
first_sale = Sales.objects.filter(saler=the_saler, sale_date__date=datetime.date(2021, 05, 19)).order_by('sale_date').first()