Python(DJango)-同时更新一个模型的多个行

问题描述 投票:0回答:1

我有一个表格/视图,允许用户注册他想要的多种语言。现在我试图提取我的登录用户已经注册的所有语言,并允许他在同一时间,同一页面,同一视图下更改每个字段...我怎样才能做到这一点?有人有什么想法吗?

例如:

registered rows 
ID User Language
1   A   english
2   A   italian
-->
updated rows
ID User Language
1   A   Portuguese
2   A   Mandarin

我正在尝试:

def myview(request):
    temp = MyModel.objects.filter(usuario=request.user).values()

    if request.method == 'GET':
        formset = Formformset(request.GET or None, prefix='language')

    elif request.method == 'POST':
        formset = Formformset(request.POST, prefix='language')

        if formset.is_valid():
            for language in MyModel.objects.filter(usuario=request.user):
                for form in formset:
                    language = form.cleaned_data.get('language')
                    level = form.cleaned_data.get('level')
                    if language and level:
                        MyModel.objects.update(language=language, level=level)

    return render(request, 'somepage.html', {
        'formset': formset,
        'temp': temp,
    })
python django view django-views
1个回答
0
投票

您可以使用两个选项。我正在使用帖子示例。

© www.soinside.com 2019 - 2024. All rights reserved.