Django 管理站点:防止字段被编辑?

mατ*_*ĸøb 5 django django-models django-forms django-admin

是否可以防止某些字段在保存后被编辑?当用户创建某个模型的新项目时,它们应该是可编辑的,但是当他们尝试打开它们以编辑某些字段时,它们应该是可编辑的。

谢谢

Ber*_*ant 6

您可以覆盖 ModelAdminget_readonly_fields以将某些字段设置为只读:

class MyAdmin(admin.ModelAdmin):

    def get_readonly_fields(self, request, obj=None):
        if obj: # when editing an object
            return ['field1']
        return self.readonly_fields
Run Code Online (Sandbox Code Playgroud)