Python Django表单-词典和列表
我创建了一个django表单,其中包含以下字段:Python Django表单-词典和列表,python,django,django-forms,Python,Django,Django Forms,我创建了一个django表单,其中包含以下字段: class MyForm(forms.Form): name = forms.CharField(required=True) type = forms.CharField(required=True) username = forms.CharField(required=True) password = forms.CharField(required=True) 现在,当我在视图中清理数据时: form =
class MyForm(forms.Form):
name = forms.CharField(required=True)
type = forms.CharField(required=True)
username = forms.CharField(required=True)
password = forms.CharField(required=True)
现在,当我在视图中清理数据时:
form = MyForm(request.REQUEST)
data = form.cleaned_data
数据是包含每个表单字段的字典。例如
data = {
"name": "ABC",
"type": "Testing",
"username":"abc",
"password":"abc"
}
我希望一些字段是主数据字典中字典的一部分。例如
data = {
"name": "ABC",
"type": "Testing",
"user": {
"username":"abc",
"password":"abc"
}
}
表单.u数据
字典是扁平的。您可以利用它创建您想要的任何数据结构
cleaned_data = form.cleaned_data
nested_data = {
'name': cleaned_data['name'],
...
'user': {
'username': cleaned_data['username'],
'password': cleaned_data['password'],
}
}
难道没有一种django方法可以在清除数据的同时对这些字段进行分组和嵌套吗?没有。返回的字典是扁平的。您可以尝试重写表单的方法来更改
已清理的\u数据的格式,但我认为这不是一个好主意。好的。谢谢你的帮助。