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
...
どこでsome_encoding_method
、間隔/インデントまたは借用している他のサードパーティ機能を決定するために設定したものになります。ただし、独自のメソッドを作成する場合は、それをモデル自体に配置してから、インスタンスを介して呼び出す方がよいでしょう。
class MyModel(models.Model):
...
def encode_some_field(self):
# do something with self.some_field
return encoded_some_field
それで:
self.instance.encode_some_field()