Миграция формы Django в Ajax дает ValueError - PullRequest
0 голосов
/ 19 декабря 2010

У меня есть приложение django с несколькими формами, которые я пытаюсь перенести в ajax. Я делаю это, потому что я хочу обновить свои данные без обновления экрана. Я использовал библиотеку dajax и начал перемещать мой код views.py в ajax.py.

Я получаю «ValueError: слишком много значений для распаковки» в коде, который прекрасно работал в views.py. Я не уверен, почему это происходит или как это исправить. Совет?

ajax.py

def send_student_form(request, form):
  dajax = Dajax()
  #error is here
  student = Student.objects.get( form.get('student_id'))
  #student = Student()  # no ValueError, but it doesn't find my student.
  if student:
    print "Student Found!"
    sForm = StudentProfileForm(request.POST, instance=student) 
    print student
  else:
    print "Student Not Found"
    sForm = StudentProfileForm(request.POST)
    #TODO: new Student

1 Ответ

1 голос
/ 19 декабря 2010

Вам необходимо определить, какое поле вы запрашиваете, например:

# Query by primary key
student = Student.objects.get(pk = form.get('student_id'))

Использование синтаксиса без ключевых слов также разрешено, но безобразно.Аргументы, не являющиеся ключевыми словами, являются особым случаем в процессе построения запросов Django, см. Конструктор класса Q, если вы хотите узнать больше.

student = Student.objects.get(("pk", form.get('student_id')))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...