Django查询具有唯一字段的项

2024-10-05 20:07:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个项目模型,有很多项目和用户(每个用户有多个项目)。我想对项目进行查询,但不能两次获得同一用户的任何项目。例如,如果我的用户有项:

John
  iPhone
  macbook
  mousepad

Elaine
  PC
  Battery

Jane
  TV
  Cabinet

我想做一个项目查询,并取回iPhone,PC,TV或macbook,PC,Cabinet,或任何组合,只要每个项目有一个唯一的用户。有没有办法用django和SQL做到这一点?或者我必须在python级别上这样做?可能是这样的:

items = Item.objects.all()
items = items.filter(user__isunique=True) #This doesn't work. I tried it.

Tags: 项目用户模型itemstvjohnmacbookiphone
1条回答
网友
1楼 · 发布于 2024-10-05 20:07:44

你需要

Item.objects.filter(your_filter).distinct('user') #or Item.objects.distinct('user')

如果您的模型是这样的:

class Item(models.Model):
   user = models.ForeignKey(User)
   # ...

但是如果你想order_by with distinct要小心

相关问题 更多 >