使用Django 1.6.5,我有一个案例,我希望在将其与内联formset中的某些模式进行比较后,将特定记录设为只读。
是否可以这样做?
答案 0 :(得分:1)
您可以使用jquery来完成。如果适合您,这就是客户端的方式。
您可以使用由(abc_1,abc_2等)等形式生成的ID来获取表单字段的值
然后您可以将其与某个值进行比较,并使用id将css('禁用',true)应用于特定字段。
答案 1 :(得分:0)
是的,可以通过使用父模型表单init方法示例代码:
class VForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(VForm, self).__init__(*args, **kwargs)
if self.instance.field == 'Y':
self.fields['field2'] = forms.ChoiceField(
choices=[(self.instance.field,
self.instance.field),], required=True)
这将过滤仅限制为1个选项的选择字段,以及一个可供选择的空白。在上述情况下' N'因为其中一个选择字段被抑制。 模型字段的情况也是如此。