模型人能够拥有一个或多个名字,其中一个是主要的

时间:2016-01-07 11:33:04

标签: django django-models

这是我的Person类。我应该如何修改它以使人能够拥有一个或多个名字,其中一个是主要的?

class Person(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    owner = models.ForeignKey('auth.User', related_name='persons')

    identity_number = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)

    class Meta:
        ordering = ('created',)

1 个答案:

答案 0 :(得分:2)

您可以创建另一个模型来存储人名,例如:

class PersonName(models.Model):
    name = models.CharField(max_length=255)
    primary = models.BooleanField(default=True)
    person = models.ForeignKey('Person')

    def __str__(self):
        return self.name

您可以使用person.personname_set

访问任何人物对象的名称