Django根据另一个字段值禁用字段

尼古拉·普里亚因

我是django的新手,正在尝试解决问题。我有以下模型:

class MyModel(models.Model):
    value = models.CharField(max_length=50, choises=...)
    custom_value = models.CharField(max_length=50, blank=True)

而且,仅当value字段的值为“ CUSTOM”时,我才需要启用custom_value字段进行编辑。

吉利根

我假设当您说“启用编辑”时,是指表单字段。我还假设在加载表单时数据已经保存在模型中。

在这种情况下,应在该模型的相应表格上完成此操作。您需要初始化要禁用的表单字段,然后在表单加载时启用它。

class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        custom_value = self.fields.get('custom_value')
        if custom_value and custom_value.widget.attrs['value'] == 'CUSTOM':
            self.fields['value'].widget.attrs['disabled'] = 'false'

我知道您的代码只是一个示例,但是将其value用作类属性名称会造成混淆。

如果希望以一种形式动态地执行此操作,例如让用户选择一个选项,然后看到另一个选项被启用而无需刷新浏览器,则必须使用Javascript来完成。这就是仅使用Django表单的方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Django-根据另一个字段更新模型字段

JSON模式条件:根据另一个字段的值,该字段是必需的

Django根据另一个字段的值验证字段

根据另一个字段的值验证Django模型字段?

如果另一个字段具有值(动态),则使用jquery禁用字段

根据另一个字段更新一个字段

如何根据另一个字段的值启用或禁用字段值的编辑?

根据另一个字段的值禁用一个字段

Laravel根据另一个字段的值来验证该字段

Json模式根据另一个字段验证一个字段的长度

选择案例/根据另一个字段更新一个字段

Laravel Validator Facade-根据另一个字段值验证大小

根据角度5中的另一个字段值使表单字段为必填字段

根据另一个字段的值在MongoDB中投影一个字段

Django模型字段取决于另一个字段的值

熊猫数据框根据另一个字段的条件更改值

根据另一个字段的内容替换一个字段的内容

SQL仅根据另一个字段的值过滤一个字段的某些值

Django-根据另一个字段过滤表单字段queryset

Django ORM:根据一个字段值动态确定另一个表名

如何根据另一个字段计算字段值?

Bootstrap x-editable:根据另一个字段的值验证字段

根据另一个字段的值验证 JSON 数据

根据另一个字段的值启用/禁用输入到某个记录的字段,但在同一条记录上

如何根据django模型中的另一个字段使字段唯一?

如何在反应中根据另一个字段更新一个字段?

如何根据另一个字段值创建字段类型?

如何根据另一个字段的值设置输入字段值?

根据另一个字段 django 获取总和