【问题标题】:Default value on Django ModelsDjango 模型的默认值
【发布时间】:2018-10-22 16:02:26
【问题描述】:
我正在研究以下模型:
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。
谢谢,
阿里亚斯
【问题讨论】:
标签:
python
django
python-3.x
django-models
django-1.8
【解决方案1】:
尝试使用“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")