如何在 Django 中链接 select_related 函数?

How to chain select_related functions in Django?

我的数据库中有以下表格:

class A(models.model):
   ...

class B(models.model):
   a = models.ForeignKey(A)

class C(models.model):
   b = models.ForeignKey(B)
   data = models.TextField(max_length=50)

我想要做的是获取pk为215的C对象,select相关的B对象,以及select相关的A 对象的 B 对象。现在,我正在做的是:

c = Models.objects.select_related('b').select_related('a').get(pk=215)

但是,我收到以下错误:

django.core.exceptions.FieldError: Invalid field name(s) given in select_related: 'a'. Choices are: b

是否有可能仅通过一次数据库命中就获得所有 3 个对象?感谢您的任何回答。

尝试

c = Models.objects.select_related('b__a').get(pk=215)

注意双下划线。

请参阅 https://docs.djangoproject.com/en/2.2/ref/models/querysets/#django.db.models.query.QuerySet.select_related

下以 You can follow foreign keys... 开头的部分