我处于无法使用继承的情况。假设我有两个模型,Person
和Passport
,本例假设它们具有一对一的关系:
class Passport(models.Model):
full_name = models.CharField()
class Person(models.Model):
passport = models.OneToOneField(Passport)
现在从这里开始,我希望得到一个Person
full_name
。在我的应用程序中,Person
在没有唯一Passport
的情况下无法存在,因此如何通过full_name
对象访问Person
属性。我最终希望能够做到这样的事情:
class Person(models.Model):
passport = models.OneToOneField(Passport)
def __unicode__(self):
return self.passport.full_name
Django有一个简单的解决方案吗?
答案 0 :(得分:0)
是的,执行此操作的简单而正确的方法正是您所做的:self.passport.full_name返回此人的全名,这是护照的属性。
请注意,由于护照ForeignKey不能为您定义,因此self.passport将始终存在。