2013-07-06 2 views
1

Я расширяю основное учебное пособие по сайту django Poll, и я сделал представление, которое позволяет пользователям добавлять свои собственные опросы. Добавление работы опроса, добавление вариантов не делает. По-видимому, это потому, что опрос еще не существует, а p.id не может быть использован. Однако p.id работает при перенаправлении браузера внизу. Любые идеи?Python/Django - возникли проблемы с предоставлением объекта только что созданного чужого объекта

def save(request): 
    p = Poll(question=request.POST['question'], pub_date=timezone.now()) 
    p.save() 
    c1 = Choice(poll=p.id, choice_text=request.POST['c1'], votes=0) 
    c2 = Choice(poll=p.id, choice_text=request.POST['c2'], votes=0) 
    c3 = Choice(poll=p.id, choice_text=request.POST['c3'], votes=0) 
    c4 = Choice(poll=p.id, choice_text=request.POST['c4'], votes=0) 
    c1.save() 
    c2.save() 
    c3.save() 
    c4.save() 
    return HttpResponseRedirect(reverse('detail', args=(p.id,))) 

ответ

1

Ничего, я понял. Для выбора объекта нужен идентификатор, скорее, ему нужен объект. Зафиксировано изменение:

c1 = Choice(poll=p.id, choice_text=request.POST['c1'], votes=0) 

в

c1 = Choice(poll=p, choice_text=request.POST['c1'], votes=0) 
Смежные вопросы