【发布时间】:2018-01-12 18:37:13
【问题描述】:
我正在尝试使用 PersonScore 对这 3 个表进行内部联接,但找不到人员类型。我做错了什么?
型号:
class PersonScore(models.Model):
id = models.IntegerField(primary_key=True) # AutoField?
person = models.ForeignKey(‘Person’)
class Person(models.Model):
id = models.IntegerField(primary_key=True) # AutoField?
name = models.CharField(max_length=255)
class PersonType(models.Model):
person = models.ForeignKey(‘Person’)
type = models.CharField(max_length=255)
代码:
PersonScore.objects.filter(person__name="Bob").prefetch_related("person__persontype")
错误:
Cannot find 'persontype' on Person object, 'person__persontype' is an invalid parameter to prefetch_related()
代码:
PersonScore.objects.filter(person__name="Bob").prefetch_related("person__persontype_set")
错误:
KeyError: (1L,)
【问题讨论】:
-
还有问题吗?还是解决了?
标签: django django-models django-orm