django - 依赖于模型的 Django 小部件
问题描述
我对 django 很陌生,有一个问题。我得到了一个使用小部件的 ModelForm。由于我有一个名为的字段discount
,如果显示的模型满足某些要求,我只想对其进行编辑,因此我使用小部件条目将其设为只读:
class Meta:
widgets = {'discount': forms.TextInput(attrs={'readonly': True})}
现在我想让再次写入该字段成为可能,前提是模型(此处称为订单)的字段类型设置为整数值 0。
我试图在 html 模板中这样做,但失败了。所以我的下一个想法是让小部件以某种方式依赖于它显示的模型,所以有点伪代码:
class Meta:
widgets = {'discount': forms.TextInput(attrs={'readonly': currentModel.type == 0})}
有没有合适的方法来做这样的事情?提前致谢
解决方案
除非您在创建表单时定义模型实例,否则您将拥有通用模型定义,而不是模型实例。看起来您可能希望在用户交互后更改表单行为,为此您必须使用 javascript。
推荐阅读
- javascript - 如何确保我的函数一次只作用于一个元素?(转发更多细节)
- javascript - JavaScript:递归函数无法正确处理 Promise
- c - pow() 有时有时在 gcc 中找不到 w/o -lm 开关
- r - SAS proc 表示 R 中的等价物
- java - 通过保留现有规则向单例 KieContainer 添加新规则
- jquery - jQuery在滚动之前获取滚动位置以在全屏时使用scrollTop()位置临时禁用滚动
- django - 在 Django 中,如何重命名用户模型?
- r - 计算每行超过 60 的值的数量
- firebase - FIRESTORE :具有多个 where 子句的查询流
- json - Flutter/Dart Json 序列化