首页 > 解决方案 > 为 self.data 中的键获取 False 值,即使它不存在于请求中

问题描述

我在 UI 中有 2 个单选按钮,一个用于将变量 (ng-model) 设置selectedtrue(ng-value=true),另一个用于将其设置为false(ng-value=false)。现在,当没有选择它们时,会导致selected传出请求中缺少变量(如预期的那样)。

但是,当处理 Django Forms 时,方法the self.data中的字典会提供访问/为什么会这样?当它甚至不存在于实际请求中时,它不应该是或至少给出一个吗?clean()Falseself.data.get('selected')self.data['selected']Nonekey-error

请注意,变量 'selected' 实际上是 Django 模型中的一个字段default=False,它是造成这种行为的原因吗?考虑到更改 Django Model 字段不是一种选择,我该如何规避这种情况?

标签: djangoangularjspython-2.7django-modelsdjango-forms

解决方案


selected所以前几天我通过检查raw中的密钥来处理它request.body。现在,由于它是一个字符串,我必须将其解析为一个字典,然后使用以下命令访问提到的键:

json.loads(request.body).get('selected')

这样,如果selected在没有选择任何单选按钮时根本不存在,我得到None. 同样,如果ng-value=true选择了单选按钮,则我得到True,反之亦然。


推荐阅读