我现在已经使用QuerySets两天了,而且有一些我想要更好理解的内容。
QuerySet返回Objects非常方便,我有机会欣赏它。
我不明白为什么它没有为您提供返回字符串值列表的选项。
例如:我需要从我的表type
中选择一个不同的(唯一的)Property
。我可以通过几种方式做到这一点:
Property.objects.values('type').order_by().distinct()
[{' type&#39 ;: u' Flat'},{' type&#39 ;: u' House'},{' type& #39;:你'别墅'}]
或
Property.objects.values_list('type').order_by().distinct()
[(你' Flat',),(你' House',),(你' Villa',)]
在这两种情况下都有Unicode值字典或带有Unicode值的元组0_o
如何指定将返回字符串值列表的QuerySet?
P.S。我们可以将QuerySet的结果转换为字符串列表,但结果不再是QuerySet。
P.P.S。我需要为我的ModelChoiceField,我将解释为什么我需要它,如果需要的话。
答案 0 :(得分:2)
您可以使用flat=True
传递给values_list
来获得一个完整的字符串列表。
Property.objects.values_list('type', flat=True).order_by().distinct()