に追加のフォーム フィールドを追加するreadonly_fields
と、モデルのインスタンスの管理ページを開くときにエラーが発生しますModelAdmin
。ImproperlyConfigured
TaskClosedAdmin.readonly_fields[0], 'extra_admin_field' is not a callable or an attribute of 'TaskClosedAdmin' or found in the model 'TaskClosed'.
readonly_fields に余分なフィールドを追加するにはどうすればよいですか?
編集
フィールドが後に更新される可能性があると考えて、 get_form()
ofでも試しました。TaskClosedAdmin
super(TaskClosedAdmin, self).get_form(request, obj, **kwargs)
def get_form(self, request, obj=None, **kwargs):
form = super(TaskClosedAdmin, self).get_form(request, obj, **kwargs)
self.readonly_fields = obj._meta.get_all_field_names()
self.readonly_fields.append('extra_admin_field')
return form
存在しないという同じエラーが引き続き表示されますextra_admin_field
...どこに追加できますか?
models.py
class Task(models.Model):
# some fields
class TaskToConfirm(Task):
class Meta:
proxy = True
admin.py
class TaskForm(forms.ModelForm):
extra_admin_field = forms.CharField(max_length=10)
class Meta:
model = Task
def __init__(self, *args, **kwargs):
super(TaskForm, self).__init__(*args, **kwargs)
# set extra_admin_field value
class TaskAdmin(admin.ModelAdmin):
form = TaskForm
class TaskClosedAdmin(TaskAdmin):
readonly_fields = ('extra_admin_field',)