如何以Django形式创建只读记录?

时间:2015-04-17 08:37:59

标签: python django

使用Django 1.6.5,我有一个案例,我希望在将其与内联formset中的某些模式进行比较后,将特定记录设为只读。

是否可以这样做?

2 个答案:

答案 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'因为其中一个选择字段被抑制。 模型字段的情况也是如此。