Django-获取只读字段的值(修复只读错误)
我试图编辑fieldset.html模板,以便在readonly div下添加隐藏的输入(在readonly情况下) 我的管理员Django-获取只读字段的值(修复只读错误),django,django-forms,django-templates,Django,Django Forms,Django Templates,我试图编辑fieldset.html模板,以便在readonly div下添加隐藏的输入(在readonly情况下) 我的管理员 class CampaignAdmin(admin.ModelAdmin): def get_form(self, request, obj=None, **kwargs): return MyModelAdminForm def get_fieldsets(self, request, obj=None): return [
class CampaignAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
return MyModelAdminForm
def get_fieldsets(self, request, obj=None):
return [
(None, {'fields': ['val1', 'val2']}),
('Informations', {'fields': ['val3']}),
]
def get_readonly_fields(self, request, obj=None):
if obj:
return self.readonly_fields + ('val2',)
else:
return self.readonly_fields
我需要val2在编辑页面中处于只读模式。通常,您可以根据需要向表单中添加任何字段。因此,如果需要将字段显示为只读字段和隐藏字段,则可以添加两个字段。您应该正确命名隐藏字段,以便进行保存。您可以使用
label
更改只读字段()的标签
编辑-代码的解决方案:
对于您的解决方案,如果将表单更改为将val2
作为只读字段而不是常规字段,则还需要将表单的Meta.fields
设置从:
fields = ('val1', 'val2', 'val3')
到
否则,val2
的验证程序将运行
或者,您必须将
val2
的小部件更改为HiddenInput
,并在django admin类中使用不同的名称和显式方法将其值添加为readonly_field
。但这需要根据模式(编辑或创建)更改字段集。通常,您可以根据需要将任何字段添加到表单中。因此,如果需要将字段显示为只读字段和隐藏字段,则可以添加两个字段。您应该正确命名隐藏字段,以便进行保存。您可以使用label
更改只读字段()的标签
编辑-代码的解决方案:
对于您的解决方案,如果将表单更改为将val2
作为只读字段而不是常规字段,则还需要将表单的Meta.fields
设置从:
fields = ('val1', 'val2', 'val3')
到
否则,val2
的验证程序将运行
或者,您必须将
val2
的小部件更改为HiddenInput
,并在django admin类中使用不同的名称和显式方法将其值添加为readonly_field
。但这需要根据模式(编辑或创建)更改字段集。不起作用:(不起作用:(
fields = ('val1', 'val2', 'val3')
fields = ('val1', 'val3')