假设我的数据库中有这样的内容:
如何在一个视图中更新用户a
的所有3种语言?
我正在尝试这样的事情:
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,
})
您可以使用两个选项。我正在使用帖子示例。
更新具有相同值Post.objects.all().update(title="title")
]的所有标题>
使用不同值更新标题
posts = Post.objects.all()
for post posts.iterator():
# Use your condition to set title
post.title = "your title"
# Save all objects in 1 query
Post.objects.bulk_update(posts, ['title'])