我有一个Django对象列表
a = [<ItemBatch: Iphone>, <ItemBatch: Iphone>, <ItemBatch: Iphone>]
我可以在ORM中用其ID替换对象吗?
我需要什么:
a = [3,5,6]
我该怎么做?
答案 0 :(得分:0)
主键存储在pk
属性中。因此,您可以将其与他们的pk
进行映射,例如,使用列表理解:
a = [item.pk for item in a]
或者您可以结合使用attrgetter
和operator
中的map
中的list
:
from operator import attrgetter
a = list(map(attrgetter('pk'), a))
答案 1 :(得分:0)
如果仅需要ID,则可以优化ORM查询集以仅请求此信息。
parallelMap()
更多信息:https://docs.djangoproject.com/en/2.1/ref/models/querysets/#values-list