Почему это приводит к AttrigbuteError при попытке обновления? - PullRequest
0 голосов
/ 15 июня 2019

Я пытаюсь обновить определенное значение поля в базе данных модели.

Я думаю, что попробовал все .... Я так расстроен ...

Модель:

class Student(models.Model):
    GRADELEVEL=[('P', 'Pre-K'), ('K', 'Kindergarten'), ('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'),('6', '6'),('7', '7'), ('8', '8'), ('9', '9'), ('10', '10'), ('11', '11'), ('12', '12')]
    epicenterid = models.CharField(null=False, blank=False, max_length=6)
    studentlname = models.CharField(max_length=50)
    studentfname = models.CharField(max_length=50)
    parentemail = models.CharField(max_length=120)
    parentphone = models.CharField(max_length=50)
    studentemail = models.CharField(max_length=120)
    studentphone = models.CharField(max_length=20)
    studentgrade = models.CharField(max_length=120, choices=GRADELEVEL)
    readingperformancelevel = models.CharField(max_length=20, choices=GRADELEVEL)
    mathperformancelevel = models.CharField(max_length=10, choices=GRADELEVEL)
    studentbirthday = models.CharField(max_length=10)
    regularteacheremail = models.CharField(max_length=10)
    regularteacherlname =models.CharField(max_length=10)
    regularteacherfname =models.CharField(max_length=10)
    studentcreatedate = models.DateTimeField(auto_now=True)

Вид:

def edit_student_view(request):

    form = EditStudentForm(request.GET or None)
    q=Student.objects.all()
    epicenterid=q.epicenterid()
    if form.is_valid():
        epicenteridtoupdate = (EditStudentForm.GET.get())
        q=Student.objects.all()
        epicenterid=q.epicenterid()
        search = Student.filter(epicenterid=epicenteridtoupdate)
        search.update(studentfname='New First Name')
    context = {'form': form}
    return render(request, 'enrollment/editthisstudent.html', context)

Я могу обновить конкретную запись, введя номер идентификатора в команду обновления, но она абсолютно не будет искать и находить переданную переменную epicenteridtoupdate из пользовательского ввода.

Пожалуйста, помогите ....

...