0

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

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)

我要做的是获取Cpk为215的对象,并选择相关B对象,同时也选择对象的相关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 个对象?感谢您的任何回答。

4

1 回答 1

2

尝试

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

注意双下划线。

You can follow foreign keys...请参阅以https://docs.djangoproject.com/en/2.2/ref/models/querysets/#django.db.models.query.QuerySet.select_related开头的部分

于 2019-08-13T00:54:11.260 回答