当我尝试调用超过3个字段的值时,它似乎“中断”(即它不会将重复的条目组合在一起)
我的模型是一个包含三个字段的直通模型,2个ForeignKey
和一个DateTimeField
ProjectView(models.Model):
user = models.ForeignKey(User)
project = models.ForeignKey(Project)
datetime_created = models.DateTimeField()
我想这样做:
ProjectView.objects.filter(datetime_created__gt=yesterday).values('project__id', 'project__title', 'project__thumbnail', 'project__creator_username')
如果我删除了任何一个值字段,它会将它们按相同的项目分组而不重复,如果有4个值,则它似乎不进行分组。我做错了吗?
答案 0 :(得分:1)
如果您查看docs的值,您将看不到分组或不同的保证。如果您需要该功能,则在致电ORM时,您必须致电.order_by()
和/或.distinct()
。
它的工作原理可能只是SQL生成的副作用。如果您想查看SQL,请查看Django-debug-toolbar