【问题标题】: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")
    

    【讨论】:

      猜你喜欢
      • 2011-09-03
      • 2022-06-17
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 2021-04-03
      • 2012-08-09
      • 1970-01-01
      相关资源
      最近更新 更多