在 Django 1.5 中弃用:select_related() 的深度参数已弃用。您应该将其替换为使用 (*fields) 列出特定相关字段,而不是如上文所述。 还可以指定要遵循的关系的深度限制:
b = Book.objects.select_related(depth=1).get(id=4)
p = b.author # Doesn't hit the database.
c = p.hometown
如何使用 (*fields) 替换 iDjango 1.5 深度?
请您参考如下方法:
在这种特殊情况下
b = Book.objects.select_related("author", "hometown").get(id=4)
我想很多人都通过使用深度参数来获得未使用的对象。
如果您通常将给定的 select_related 与许多字段一起使用,您可能希望制作一个自定义 QuerySet 以使用自定义方法自动添加它(类似于 qs.usually_related())
要添加这种功能,您可能需要遵循这个很酷的答案:
