Я хочу установить поле (текущий пользователь) в модели автоматически, когда объект создается или обновляется, и сделать его доступным только для чтения, поэтому пользователь не может его изменить:
Для предварительного заполненияfield:
@admin.register(Model)
class ModelAdmin(admin.ModelAdmin):
list_display = ('field_1', 'user')
def get_form(self, request, obj=None, **kwargs):
form = super(ModelAdmin, self).get_form(request, obj, **kwargs)
form.base_fields['user'].initial = request.user
return form
Это работает, но когда я затем хочу сделать поле доступным только для чтения, используя:
readonly_fields=('user', )
приложение вылетело с ошибкой:
KeyError at /admin/api/model/add/
'user'
Кто-нибудь может мне помочь и объяснить, как я могу достичь своей цели с помощью администратора django?
спасибо!