web-dev-qa-db-ja.com

Django-QuerySetからの一意のリスト

ManyToManyフィールド 'Client'を持つフィルター処理されたQuerySetがあります。クエリセット内のすべてのクライアントオブジェクトの一意の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>}

いくつかの助けをいただければ幸いです:)

21
Hanpan
Project.objects.values('client').distinct()

querysetdistinct()メソッドのDjango docs へのリンク

49
Yuval Adam

distinct() を使用するだけです。

4
vartec