我想检索['BMW', 'Mercedes', 'Audi']格式的值列表(这是从多选表单域/列表中的不同汽车制造的50+列表中选择的三个值)。
值存在于ManyToMany中:
class CarMakeModel(models.Model):
Make = models.CharField(max_length=30)
class Product(models.Model):
selection = models.ManyToManyField(CarMakeModel)现在,我想检索所做的选择,例如在shell中:
select = product.models.Product.objects.latest('id').selection.values('Make')这将返回:
<QuerySet [{'Make': 'BMW'}, {'Make': 'Mercedes'}, 'Make': 'Audi'}]如何将此QuerySet回复转换为这种格式的['BMW', 'Mercedes', 'Audi']?
我已经尝试过list(select)和tuple(select),它返回:
[{'Make': 'BMW'}, {'Make': 'Mercedes'}, 'Make': 'Audi'}]和
({'Make': 'BMW'}, {'Make': 'Mercedes'}, 'Make': 'Audi'})但现在我已经感觉到,对于一个看似简单的请求,我已经采取了太多的步骤。我的问题是,我如何更正确地实现我的目标?
发布于 2019-03-01 07:38:43
您可以改用values_list方法:
select = product.models.Product.objects.latest('id').selection.values_list('Make', flat=True)https://stackoverflow.com/questions/54935906
复制相似问题