обновить QuerySet с помощью Form или ModelForm - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь обновить все значения набора запросов с помощью for, я нашел этот метод:

queryset = Query.objects.filter(version=XXX)
field1 = ModelForm.cleaned['field1']
...
fieldN = ModelForm.cleaned['fieldN']
queryset.update(['field1'=field1, ... , 'fieldN'=fieldN])

но я упал, как будто это не очень чистый метод, есть ли более эффективный

1 Ответ

0 голосов
/ 24 октября 2018

Я наконец сделал это, используя этот метод:

в 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)
...