如何覆盖Django管理更改表单中的字段值显示

如何覆盖Django管理更改表单中的字段值显示,django,admin,field,Django,Admin,Field,如何覆盖Django admin中为字段显示的值?该字段包含XML,当在管理员中查看它时,我想对其进行格式化,以便于阅读。我知道如何对字段本身的读写进行重新格式化,但这不是我想要做的。我希望XML存储时去掉空白,我只希望在管理更改表单中查看时重新格式化它 如何控制此字段的管理更改表单文本区域中显示的值 class MyModelForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(MyModel

如何覆盖Django admin中为字段显示的值?该字段包含XML,当在管理员中查看它时,我想对其进行格式化,以便于阅读。我知道如何对字段本身的读写进行重新格式化,但这不是我想要做的。我希望XML存储时去掉空白,我只希望在管理更改表单中查看时重新格式化它

如何控制此字段的管理更改表单文本区域中显示的值

class MyModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyModelForm, self).__init__(*args, **kwargs)
        self.initial['some_field'] = some_encoding_method(self.instance.some_field)

class MyModelAdmin(admin.ModelAdmin):
    form = MyModelForm
    ...
其中,
一些编码方法
是您为确定间距/缩进或借用的其他第三方功能而设置的。但是,如果您编写自己的方法,最好将其放在模型本身上,然后通过实例调用它:

class MyModel(models.Model):
    ...
    def encode_some_field(self):
        # do something with self.some_field
        return encoded_some_field
然后:


你是在谈论间距和缩进,还是在改变颜色、大小等样式。?后者是不可能的。我感兴趣的是前者。我只想用不同的值替换文本区域中显示的值。
self.instance.encode_some_field()