2017-12-22 10 views
0

장고 양식 마법사를 사용하고 있으며 새 사용자를 만들 수있는 다단계 양식을 만들었습니다. OnetoOne 관계를 설정 한 UserAddon이라는 두 번째 모델이 있습니다. 그 모델을 POST하고 UserAddon에서 그 관계를 만드는 방법을 알아낼 수 없습니다. 내가 게시하기 전에 또한 누군가가 알고 있다면,이 내Django FormWizard FK로 데이터베이스에 게시

if form.is_valid(): 

또는

if request.method == 'POST': 

같은 검사를 이용해야 하는가?

감사합니다.

마법사

class ContactWizard(SessionWizardView): 
    template_name = "wizardApp/contact_form.html" 
    def done(self, form_list, **kwargs): 
     process_form_data(form_list) 
     return HttpResponseRedirect('../home') 

프로세스 폼 데이터

내 코드에 주목
def process_form_data(form_list): 
    form_data = [form.cleaned_data for form in form_list] 
    first_name = form_data[0]['first_name'] 
    last_name = form_data[0]['last_name'] 
    email = form_data[0]['email'] 


    print(last_name) 
    print(first_name) 
    print(email) 

    user = User.objects.create_user(email) 
    user.first_name = first_name 
    user.last_name = last_name 
    user.email = email 
    user.save() 

    ##### SOMETHING LIKE THIS #### 
    user_addon = UserAddon.objects.create(user.email) 

    return form_data 

그 또한 가치는 사용자 이름으로 사용자의 이메일 주소를 설정하는 기록

답변

0

사실을 알 수 있었다 out 의견보기

가공 양식 데이터

def process_form_data(form_list): 
    form_data = [form.cleaned_data for form in form_list] 
    first_name = form_data[0]['first_name'] 
    last_name = form_data[0]['last_name'] 
    email = form_data[0]['email'] 

    fav_food = form_data[1]['fav_food'] 
    fav_drink = form_data[1]['fav_drink'] 

    # print(username) 
    print(last_name) 
    print(first_name) 
    print(email) 
    print(fav_food) 
    print(fav_drink) 

    user = User.objects.create_user(email) 
    user.first_name = first_name 
    user.last_name = last_name 
    user.email = email 
    user.save() 

    #######Solution HERE########## 
    user_addon = UserAddon.objects.create(user=user,fav_food=fav_food,fav_drink=fav_drink) 
user_addon.save() 

나는 여전히 게시물에 대한 요청을 확인하는 데 불명확하며 양식이 유효하면 어떤 도움도 여전히 가치가있다!

관련 문제