用python / django创建对象列表方法输出的最佳方法

时间:2018-10-21 13:26:05

标签: python django list

我有此代码:

objects = Object.objects.all()

datalist = list()
    for object in objects:
        datalist.append(object.data())

return datalist

有没有更好的方法来创建此数据列表?查询集有values_list()方法,但仅适用于对象字段而不适用于方法。

所以我想知道,是否有更好的pythonic方式可以在一行中而不是三行中创建datalist

1 个答案:

答案 0 :(得分:0)

您可以使用列表理解

return [object.data() for object in Object.objects.all()]

或结合使用maplist

return list(map(Object.data, Object.objects.all()))

但是,我对.data()在这里所做的事情还不是很清楚,因此可能会有更好(更快,更优雅等)的方法来做同样的事情。