Python 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 =

我创建了一个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 = 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数据的格式,但我认为这不是一个好主意。好的。谢谢你的帮助。