Я хочу обновлять несколько полей одновременно в форме django model form

Я пробовал фильтровать по номеру рулона в файле views.py поэтому я хочу обновить все поля оценок из модуля form.py, может ли кто-нибудь предложить мне лучший способ обновления всех полей оценок за один раз.

def marks_view(request, roll_number):


return render(request, 'marks_entry.html')

modles.py

class NurseryResult(models.Model):
roll_number = models.PositiveIntegerField(primary_key=True)
student_name = models.CharField(max_length=50, blank=False)
academic_Year = models.CharField(blank=True, max_length=50)
nepali = models.PositiveIntegerField( blank=True)
nepali_gpa = models.FloatField( blank=True)
nepali_grade = models.CharField( blank=True, max_length=50)
english = models.PositiveIntegerField( blank=True)
english_gpa = models.FloatField(blank=True)
english_grade = models.CharField(blank=True, max_length=25)
math = models.PositiveIntegerField(blank=True)
math_gpa = models.FloatField(blank=True)
math_grade = models.CharField(max_length=50, blank=True)
science = models.PositiveIntegerField(blank=True)
science_gpa = models.FloatField(blank=True)
science_grade = models.CharField(max_length=10, blank=True)
oral_nepali = models.PositiveIntegerField(blank=True)
oral_nepali_gpa = models.FloatField(blank=True)
oral_nepali_grade = models.CharField(max_length=50, blank=True)
oral_math = models.PositiveIntegerField(blank=True)
oral_math_gpa = models.FloatField(blank=True)
oral_math_grade = models.CharField(max_length=50, blank=True)
oral_english = models.PositiveIntegerField(blank=True)
oral_english_gpa = models.FloatField(blank=True)
oral_english_grade = models.CharField(max_length=50, blank=True)
hygiene = models.PositiveIntegerField(blank=True)
hygiene_gpa = models.FloatField(blank=True)
hygiene_grade = models.CharField(max_length=50, blank=True)
grade = models.CharField(max_length=10, blank=True)
gpa = models.FloatField(blank=True)

Вы можете использовать Django forms(ModelForm класс),

class NurseryResultForm(forms.ModelForm):

    class Meta:
       model = NurseryResult
       fields = '__all__' # fields you need in form
       exclude = [...]    # fields you don't need in form(if fields = '__all__')

ваш views.py

def marks_view(request, roll_number):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = NurseryResult(request.POST)
        # check whether it's valid:
        if form.is_valid():
            # process the data in form.cleaned_data as required
            # ...
            # redirect to a new URL:
            return HttpResponseRedirect('/url/')

    # if a GET (or any other method) we'll create a blank form
    # or fill the form with query object
    else:
        form = NurseryResultForm()

    return render(request, 'your_temlate.html', {'form': form})

Это общая реализация. Будет лучше, если вы сначала прочитаете doc.

Вернуться на верх