我的模特:
class Question(models.Model):
content = models.CharField(max_length=160)
class Answer(models.Model):
content = models.CharField(max_length=260)
question = models.ForeignKey(Question)
如果我想要所有与特定问题相关的答案,但尽可能少地引用数据库,我是否应该使用select_related
:
q = Question.objects.select_related(depth=1).get(id=id)
answers = q.answer_set.all()
或只是:
q = Question.objects.get(id=id)
answers = q.answer_set.all()
答案 0 :(得分:1)
要回答此类问题,请考虑安装Django Debug Toolbar。它提供了有关处理请求所执行的所有数据库查询的信息,包括每个查询所花费的时间。
因此,请在项目中安装工具栏,然后浏览到站点上执行查询的页面。单击工具栏上的查看信息。尝试两种方式,看看哪个更好。