0

我有两个模型

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 回答