DjangoのModelのinitをoverrideしてバーチャルフィールを作る

{{human.full_name}}で呼び出したいじゃないですか!

というわけでやってみました。

class Hoge(models.Model):
    first_name = models.CharField(max_length=100, blank=True, null=True)
    last_name = models.CharField(max_length=100, blank=True, null=True)

    full_name = None

    def __init__(self, *args, **kwargs):
        models.Model.__init__(self, *args, **kwargs)
        self.full_name = f'{self.last_name} {self.full_name}'

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です