【发布时间】:2019-04-14 15:36:17
【问题描述】:
我想在创建或更新对象时自动在模型中设置一个字段(当前用户)并使其只读,因此用户无法更改它:
为了预先填充该字段:
@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 admin 来实现我的目标?
谢谢!
【问题讨论】:
标签: django field admin readonly populate