Skip to main content
 首页 » 编程设计

python之如何使用字段替换 Django 1.5 深度

2025年05月04日22Terrylee

在 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())

要添加这种功能,您可能需要遵循这个很酷的答案:

https://stackoverflow.com/a/2163921/267364