如何在ModelForm中使用Django 1.2的readonly_fields

1 投票
2 回答
1383 浏览
提问于 2025-04-16 03:28

我正在尝试在一个模型表单中使用新的只读字段。

class TrainingAddForm(forms.ModelForm):
    class Meta:
        model = TrainingTasks
        readonly_fields = ('trainee_signed','trainee_signed_date')

但是这样做不行。我是不是漏掉了什么,还是说这根本不可能?

2 个回答

0

根据文档,这个选项属于admin.ModelAdmin,而不是forms.ModelForm。你的管理表单需要从admin.ModelAdmin继承,这样你才能使用readonly_fields这个选项。

编辑: 我之前误解了你的问题,以为你是在尝试在Django自带的管理应用中使用这个字段。不过,正如我最开始的回答所说,这个选项只适用于继承自admin.ModelAdmin的类——你不能通过forms.ModelForm来使用它。

0

如果你想在表单中实现这个功能,可以参考这个链接:在Django表单中,如何让一个字段变为只读(或禁用),这样就无法编辑了?

撰写回答