Django公司已清理的数据[]对于mod中的所有字段

2024-04-26 07:22:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用django对表单进行数字化。这个表单有点复杂,里面有很多字段。我在想Django能不能已清理的数据[]表示所有字段,而不是分别为每个字段声明obj.fieldname = form.cleaned_data['fieldname']等变量。在

我试过用forloop在视图.py,但这行不通

我说的是forloop:

def get_form_naw(request):
    if request.method == 'POST':
        form = Form1(request.POST)
        if form.is_valid():
            for x in Model1():
                formname = x.name
                o = Model1()
                o.formname = form.cleaned_data[formname]
            o.save()
    else:
        form = Form1
    return render(request, 'folder/home.html', context=locals())

我用的是mysql数据库。我的表格是这样声明的: 表单.py

^{pr2}$

Tags: djangopyform声明表单dataifrequest
2条回答

您可以在保存之前获取数据的实例,如下所示:

if form.is_valid():
    obj = form.save(commit=False) #get instance without saving
    # do your thing
    obj.save() #save into database

你不应该在田野里兜圈子。您使用的是一个模型表单,因此您应该save该表单:

if form.is_valid():
    obj = form.save()
    ...

如果确实需要动态设置字段,可以使用^{}。在

^{pr2}$

相关问题 更多 >