0

我处于无法使用继承的情况。假设我有两个模型, aPerson和 a Passport,对于此示例,假设它们具有一对一的关系:

class Passport(models.Model):
    full_name = models.CharField()



class Person(models.Model):
    passport = models.OneToOneField(Passport)

现在从这里,我想得到一个Person's full_name。在我的应用程序中,Person没有唯一的 a 就无法存在Passport,那么如何full_name通过Person对象访问属性。我最终希望能够做这样的事情:

class Person(models.Model):
    passport = models.OneToOneField(Passport)

    def __unicode__(self):
        return self.passport.full_name

有一个简单的解决方案是 Django 吗?

4

1 回答 1

0

是的,简单而正确的做法正是您所做的:self.passport.full_name 返回人的全名,这是护照的一个属性。

请注意,由于护照 ForeignKey 不能为您定义的 null,因此 self.passport 将始终存在。

于 2013-06-12T06:29:29.573 回答