使用自己的领域来定义Django模型中的其他内容

2024-09-28 17:28:23 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我想在一个字段中设置一个默认值,并且该值是从同一模型的另一个字段派生的。你怎么能这样做:

class MyModel(models.Model):
     field_1 = models.CharField()
     field_2 = models.Charfield(defualt=field_1 + 'extra info')

Tags: 模型infofieldmodelmodelsextraclassmymodel
1条回答
网友
1楼 · 发布于 2024-09-28 17:28:23

在这种情况下不能使用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

相关问题 更多 >