【发布时间】:2015-12-28 16:45:40
【问题描述】:
我有以下函数来确定谁下载了某本书:
@cached_property
def get_downloader_info(self):
return self.downloaders.select_related('user').values(
'user__username', 'user__full_name')
由于我只使用两个字段,所以在其余字段上使用.defer() 有意义吗?
我尝试使用.only(),但我收到一个错误,指出某些字段不是 JSON 可序列化的。
我愿意接受所有优化此查询集的建议(如果有的话)。
谢谢!
【问题讨论】:
-
您检查了生成的查询吗?示例:
self.downloaders.select_related('user').values( 'user__username', 'user__full_name').query你可以分析它是否真的值得进一步优化 -
@karthikr 我在哪里可以找到输出以查看是否应该优化?
-
你使用的是什么数据库后端?
-
@TommasoBarbugli 我正在使用 PostgreSQL
标签: django django-models django-queryset