Django - QuerySet中的唯一列表

时间:2011-04-20 09:37:53

标签: django django-queryset

我有一个过滤的QuerySet,它有一个ManyToMany字段'Client'。我想在查询集中创建所有Client对象的唯一dict:

Projects Queryset:
- Project1.client = <Client: 1>
- Project2.client = <Client: 1>
- Project3.client = <Client: 2>
- Project4.client = <Client: 2>
- Project5.client = <Client: 3>

class Project(models.Model):
    client = models.ForeignKey(Client, blank=True, null=True)

我想最终得到一个客户端对象的词典:

{<Client: 1>,<Client: 2>,<Client: 3>}

一些帮助将不胜感激:)

2 个答案:

答案 0 :(得分:43)

Project.objects.values('client').distinct()
关于queryset distinct()方法的

Link to Django docs

答案 1 :(得分:4)

只需使用distinct()