2013-10-29 38 views
0

我有兩個型號Django的manytomanyfield獲取獨特COUNTRYNAME

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',)] 
+0

你可以使用distinct(),並在其後放置values_list並查看。 –

回答

1

將我的評論轉換爲答案。在all()方法中使用distinct。

>>DeliveryMethod.objects.all().distinct().values_list('country__name')