在Django中引用相关的字段值

Yuv*_*dam 2 python django django-models

考虑一个简单的ForeignKey关系:

class ModelA(models.Model):
    other_field = CharField()

class ModelB(models.Model):
    my_field = CharField()
    parent = ForeignKey(ModelA)
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

my_fields = ModelB.objects.all().values('my_field')
Run Code Online (Sandbox Code Playgroud)

有没有办法other_field在同一个电话中引用?我会假设这样的事情是可能的:

all_fields = ModelB.objects.all().values('my_field', 'parent.other_field')
Run Code Online (Sandbox Code Playgroud)

但显然事实并非如此.获取相关字段值的最简单方法是什么?

如果这意味着Django ORM需要预取相关的值,导致查询繁重,那就这样吧.我正在寻找最优雅的方式来做到这一点.

sec*_*ond 5

根据您可以使用的文档

...values('parent__other_field')
Run Code Online (Sandbox Code Playgroud)