django manytomanyfield获取唯一的countryname

时间:2013-10-29 06:12:10

标签: django django-models

我有两个型号

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

1 个答案:

答案 0 :(得分:1)

将我的评论转换为答案。在all()方法之后使用distinct。

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