2010-05-06 102 views
5

由于标题说我有一个Django对象列表,我想获取主键列表。这样做的最好方法是什么?django将对象列表转换为主键列表

我知道我可以做

my_list = [] 
for item in object_list: 
    my_list.append(item.pk) 

,但不知道是否有Django的或Python这样做更好的特定方式。

感谢

回答

10

一个更Python的方式下手为:

my_list = [item.pk for item in object_list] 

一个完整的Django方式:

my_list = object_list.values_list('id', flat=True) 
+1

......并获得真正的'名单()',后者需要被包装到'list()'调用中。 – Kimvais 2013-04-08 10:25:10