django中select_related()和select_related('columnname')之间的差异

时间:2012-07-03 18:40:29

标签: python django

我很抱歉这个新手问题。我试图找出select_related()和select_related('ColumnName')之间的区别。这两者有区别吗?

我试图理解this post哪位作者强调使用select_related('content_type')。all()而不是简单的select_related()。all()。我们将非常感谢您的帮助,因为在过去的两个小时里,我正在努力掌握这一概念。

非常感谢,

苏尼

1 个答案:

答案 0 :(得分:5)

来自django docs,在没有参数的情况下调用:

  

返回一个自动“跟随”外键的QuerySet   关系,选择其他相关对象数据时   执行其查询。

给出一个论点:

  

有时您只想访问与之相关的特定模型   您的根模型,而不是所有相关模型。在这些情况下,你   可以将相关的字段名称传递给select_related(),它只会   遵循这些关系。您甚至可以为更多的模型执行此操作   通过将字段名称用double分隔而不是一个关系   下划线,就像过滤器一样。