我想检索['BMW', 'Mercedes', 'Audi']
格式的值列表(这是从多个选择形式的字段/列表中制成的50多种不同汽车制造商的列表中选择的三个。
值存在于ManyToMany中:
class CarMakeModel(models.Model):
Make = models.CharField(max_length=30)
class Product(models.Model):
selection = models.ManyToManyField(CarMakeModel)
现在,我想检索所做的选择,例如在外壳中:
select = product.models.Product.objects.latest('id').selection.values('Make')
这将返回:
<QuerySet [{'Make': 'BMW'}, {'Make': 'Mercedes'}, 'Make': 'Audi'}]
如何以这种格式['BMW', 'Mercedes', 'Audi']
来获得此QuerySet答复?
我尝试了list(select)
和tuple(select)
的返回:
[{'Make': 'BMW'}, {'Make': 'Mercedes'}, 'Make': 'Audi'}]
和
({'Make': 'BMW'}, {'Make': 'Mercedes'}, 'Make': 'Audi'})
但是现在已经感觉到我为看似简单的请求采取了太多步骤。我的问题是如何更正确地实现自己的目标?
答案 0 :(得分:1)
您可以改用values_list
方法:
select = product.models.Product.objects.latest('id').selection.values_list('Make', flat=True)