编辑对象时覆盖表单数据

时间:2010-12-24 23:17:16

标签: python django django-models django-forms

我想在Django中编辑对象时覆盖字段。

例如,当我尝试编辑现有类别时,将从数据库中加载字段名称和描述。我想要做的是在字段中显示另一个数据,而不是存储在数据库中的数据。有办法吗?

问题很奇怪,你可能想知道为什么我需要那个。这是一个学校项目,这是我想做的唯一方法。

提前感谢您的帮助: - )

1 个答案:

答案 0 :(得分:0)

我没有测试过,但我之前做过。为您的模型创建一个自定义ModelForm,在ModelAdmin类上设置它并实现这样的表单类:

class MyForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        if kwargs.get('instance'):
            self.fields['myfield'].initial = 'custom value'

    class Meta:
        model = MyModel

如果那不是您的意思,请回复,我会更新。