我已经阅读了这个线程,它处理使 Django 注释在“用户”字段上使用 select_related() 从而减少不必要的 sql 查询的问题。
我最喜欢的建议是创建自己的评论模型并覆盖当前使用的管理器。
这就是我所拥有的:
#models.py
class LightCommentManager(CommentManager):
def get_query_set(self):
qs = (super(CommentManager, self).get_query_set().select_related('user'))
return qs
class LightComment(Comment):
objects = LightCommentManager()
class meta:
managed = False
这一切都很好,但是当我同步数据库时,Django 仍然为 LightComment 创建一个表。如果我要更改的只是经理,我真的需要这张表吗?如果 managed 设置为 false,为什么 Django 会创建它?
提前致谢,