[英]Django model field default from model method
我想从模型方法中给出模型字段默认值。
我怎样才能做到这一点 ?
当我尝试这个代码
Class Person(models.Model):
def create_id(self):
return os.urandom(12).encode('hex')
name = models.CharField(max_length = 255)
id = models.CharField(max_length = 255,default = self.create_id)
我得到NameError:名称'self'未定义。
如果我删除'self'我得到'create_id'需要1个参数。
您可以像这样定义全局方法:
def create_id():
return os.urandom(12).encode('hex')
Class Person(models.Model):
name = models.CharField(max_length = 255)
id = models.CharField(max_length = 255,default = create_id)
我最终做到了这一点:(从两者中移除自我)
Class Person(models.Model):
def create_id():
return os.urandom(12).encode('hex')
name = models.CharField(max_length = 255)
id = models.CharField(max_length = 255,default = create_id)
它工作正常,但我不确定这是最佳还是正确的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.