In a Django form, how do I make a field readonly (or disabled) so that it cannot be edited?

后端 未结 26 887
-上瘾入骨i
-上瘾入骨i 2020-11-22 04:09

In a Django form, how do I make a field read-only (or disabled)?

When the form is being used to create a new entry, all fields should be enabled - but when the recor

26条回答
  •  有刺的猬
    2020-11-22 04:33

    If you are using Django admin, here is the simplest solution.

    class ReadonlyFieldsMixin(object):
        def get_readonly_fields(self, request, obj=None):
            if obj:
                return super(ReadonlyFieldsMixin, self).get_readonly_fields(request, obj)
            else:
                return tuple()
    
    class MyAdmin(ReadonlyFieldsMixin, ModelAdmin):
        readonly_fields = ('sku',)
    

提交回复
热议问题