我正在尝试使用for更新查询集的所有值,我发现了这种方法:
queryset = Query.objects.filter(version=XXX)
field1 = ModelForm.cleaned['field1']
...
fieldN = ModelForm.cleaned['fieldN']
queryset.update(['field1'=field1, ... , 'fieldN'=fieldN])
但是我跌倒了,因为它不是一种很干净的方法,有没有一种更有效的方法?
答案 0 :(得分:1)
我终于使用这种方法做到了:
forms.py:
class UpdateAll(forms.Form):
field_1 = forms.FloatField()
field_2 = forms.FloatField()
field_3 = forms.FloatField()
在views.py中:
def update_all(request):
queryset = Model.objects.filter(filter=filter)
if request.method == 'POST':
form = UpdateAll(request.POST)
if form.is_valid():
data = form.cleaned_data
queryset.update(**data)