0

私は2つのモデルを持っています

class Country(models.Model):
    name = models.CharField(max_length=255)    
class DeliveryMethod(models.Model):
    name = models.CharField(max_length=100)
    country = models.ManyToManyField(Country)

DeliveryMethodモデルからすべての国名を取得したい(国名は出力リストに繰り返されるべきではありません。)クエリを試しました

>>> DeliveryMethod.objects.all().values_list('country__name')
[(u'Pakistan',), (u'Pakistan',), (u'India',), (u'Pakistan',), (u'Kenya',), (u'I
ndia',), (u'Pakistan',), (u'Kenya',)]

以下のリストのような出力が必要です。

[(u'Pakistan',), (u'India',), (u'Kenya',)]
4

1 に答える 1

1

私のコメントを回答に変換します。distinct after all() メソッドを使用します。

>>DeliveryMethod.objects.all().distinct().values_list('country__name')
于 2013-10-29T06:26:04.567 に答える