gpt4 book ai didi

python - 如何将不可编辑的字段添加到 Django 中的自定义管理表单

转载 作者:行者123 更新时间:2023-11-28 22:25:10 24 4
gpt4 key购买 nike

我正在尝试将 editable=False 字段添加到自定义管理表单,但出现错误:

django.core.exceptions.FieldError: 'help_num' cannot be specified for 
Investigation model form as it is a non-editable field

这是真的,在我的模型中我是这样设置的:

模型.py

help_num = models.CharField(max_length=17, unique=True, default=increment_helpdesk_number, editable=False)

表单.py

class HelpDeskModelForm(forms.ModelForm):

class Meta:
model = HelpDesk
fields = [
"help_num",
"help_types",
...
"help_summary"
]

管理员.py

class HelpDeskModelAdmin(admin.ModelAdmin):
readonly_fields=('help_num',)
form = HelpDeskModelForm

我将 readonly 添加到 admin.py,但仍然出现错误。我做错了什么?

最佳答案

您需要从您的类(class)表单字段列表中删除不可编辑的字段:

class HelpDeskModelForm(forms.ModelForm):

class Meta:
model = HelpDesk
fields = [
#"help_num",
"help_types",
...
"help_summary"
]

并像您一样在 ModelAdmin 中保留只读字段:

class HelpDeskModelAdmin(admin.ModelAdmin):
readonly_fields=('help_num',)
form = HelpDeskModelForm

关于python - 如何将不可编辑的字段添加到 Django 中的自定义管理表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45699915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com