我想获取某些对象的ID。将它们放入元组的干净方法是什么?
.values()查询集返回以下内容:
MyModel.objects.filter(name__startwith='A').values('id')
>>>> [{'id': 20L}, {'id': 21L}, {'id': 84L}]
我想将它们转换/获取为一个元组,例如:
(20L, 21L, 84L)
最简单的办法是让values_list
用flat=True
models.MyModel.objects.all().values_list('id', flat=True)
这与values()类似,除了它不返回字典,而是在迭代时返回元组。每个元组包含来自传递到values_list()调用中的相应字段的值-因此,第一项是第一个字段,依此类推。
如果仅传递单个字段,则还可以传递flat参数。如果为True,则表示返回的结果是单个值,而不是一元组。一个例子应该使区别更加清楚:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句