我有一个关于 Django 中外键行为的问题。
我在我的模型中定义了一个树层次结构,其中父子关系在子模型中表示为外键。现在,从叶级开始,我想检索父级、父级的父级等作为我定义的对象。
这可以通过简单地调用 Leaf.objects.all() 并正常地从 Python 代码访问对象来实现。
但是麻烦来了。对于每个这样的调用,Django 都会对适当的外部 ID 进行 SELECT 查询。这显然非常缓慢且效率低下。我想告诉 Django 类似“嘿,立即为我获取包括外键在内的所有数据,只需在数据库端进行连接和所有操作”。这在某种程度上是可能的吗?
最佳答案
只需使用 select_related() :
Leaf.objects.select_related().all()
关于python - Django - 有什么方法可以立即获取外键对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19163283/