作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 Django 模型中使用来自 django.contrib.postgres.fields 的 JSONField。我想设置我的更新表单,以便它查看传递给它的对象,从 JSONfield 遍历 JSON,并动态创建适量的 CharFields。
模型.py:
class myclass(models.Model):
purpose_section = JSONField()
表单.py:
class myclassForm(forms.ModelForm):
class Meta:
model = myclass
fields = '__all__'
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for i in self.fields['purpose_section'].initial:
self.fields['purpose_section_%s' % i] = forms.CharField(label="purpose_section_" + i,value=i.content)
当我尝试访问该页面时,我收到一个错误:“NoneType”对象不可迭代
关于我遗漏的任何想法?
最佳答案
我不确定您使用的是什么 View ,但假设它是一个将传递您尝试编辑的数据库行实例的 View (例如带有将 pk 传递给它的 url 的 UpdateView) ,
你可以在你的表单中试试这个:
for key in self.instance.purpose_section:
self.fields[key] = forms.CharField(label=key, max_length=256)
self.fields[key].initial = self.instance.purpose_section[key]
如果您没有使用执行此操作的 View ,则需要自己传递实例。
关于python - 将 JSONField 解压到多个 Django 表单字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52195349/
我尝试通过正则表达式将文本中的单引号更改为双引号。 (单字)示例:我走了。 You gona fly to planet 'Ziqtos' => 我需要在 I'm 中保留单引号,并在 You gona
我正在构建一个 API,其中大部分将包含 JSON 和 HTML 内容。但是一些非常具体的端点只呈现 true 或 false,并且还在 POST 中接受 true 或 false。这是请求或响应的整
我是一名优秀的程序员,十分优秀!