Django 模型的默认值

Default value on Django Models

我正在研究以下模型:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    page = models.CharField(max_length=64, default='Page of XXXX')

我正在尝试为包含用户名 的页面字段设置默认值。类似于:'Page of Will' 或 'Page of Sam',用户是 Will 或 Sam。

谢谢, P.Arias

尝试使用您的 "create()" 函数:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    page = models.CharField(max_length=64)

    @classmethod
    def create(cls, name):
        if name:
            return Profile.objects.get_or_create(user=name, 
                                                 page='Page of ' + name)
            # or
            return cls(user=name, page='Page of ' + name).save()

并通过这个函数插入用户:

Profile.create(name="Will")