2011-04-20 70 views
14

我有一个已过滤的QuerySet,它具有ManyToMany字段'Client'。我想创建在查询中的所有客户端对象设定独特的字典:Django - 来自QuerySet的唯一列表

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>} 

一些帮助,将不胜感激: )

+0

请说明您的意思是“一个已过滤的QuerySet,它具有ManyToMany字段”客户端“。”查询集没有字段。您的查询是否设置了客户端对象或项目对象的查询集?您展示的项目模型与客户有多对一的关系。 – DTing 2011-04-20 10:09:07

回答

32
Project.objects.values('client').distinct() 
+1

这对我不起作用。我使用继承,这可能是原因吗?我该怎么办? – Hgeg 2012-01-01 00:41:57

+1

你应该打开一个问题,描述你正在做什么以及你得到什么错误。 – 2012-01-01 10:43:52