django价值观不起作用

时间:2013-02-03 14:57:40

标签: django django-queryset

当我尝试调用超过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个值,则它似乎不进行分组。我做错了吗?

1 个答案:

答案 0 :(得分:1)

如果您查看docs的值,您将看不到分组或不同的保证。如果您需要该功能,则在致电ORM时,您必须致电.order_by()和/或.distinct()

它的工作原理可能只是SQL生成的副作用。如果您想查看SQL,请查看Django-debug-toolbar