如果我想在字段中设置默认值,并且该值是从同一模型中的另一个字段派生的。怎么能做那样的事情:
class MyModel(models.Model):
field_1 = models.CharField()
field_2 = models.Charfield(defualt=field_1 + 'extra info')
答案 0 :(得分:3)
在这种情况下,您无法使用default
。您可以使用模型的保存方法来实现此目的:
class MyModel(models.Model):
field_1 = models.CharField(max_length=80)
field_2 = models.Charfield(max_length=80)
def save(self, *args, **kwargs):
#Here you can have all kinds of validations you would need
self.field_2 = self.field_1 + "extra info"
super(MyModel, self).save(*args, **kwargs)
现在,如果您愿意,可以从表单/模型中隐藏/排除field_2
。