【发布时间】:2011-04-08 17:14:41
【问题描述】:
我有一个自定义查询,它最终返回一个对象列表。我需要该函数来返回实际对象,但我不想为每个查询两次访问数据库,因为它已经是一个昂贵的查询。如何在不访问数据库的情况下返回模型实例?
注意:我认为执行以下操作实际上会创建不同模型的新实例?
return [Object(pk=row[0]) for row in results]
注意:我还假设这会在函数返回时访问数据库
return [Object.objects.get(pk=row[0]) for row in results]
【问题讨论】:
-
为什么不能返回查询集?
-
@lazerscience:我猜测他发现 SQL 太复杂/无法使用 Django API 复制。
-
@lazerscience:是的,正如 Manoj 所说,使用 django ORM 无法完成 SQL。谢谢
标签: sql django django-models model