我想从模型方法中提供模型字段默认值。
我该怎么做?
当我尝试这段代码时
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个参数。
答案 0 :(得分:9)
您可以像这样定义全局方法:
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)
答案 1 :(得分:4)
我最终做到了这一点:(从两者中移除自我)
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)
它正在运作,但我不确定这是最佳还是正确的方式。