Django FormWizard使用FK发布到数据库

2024-10-03 09:18:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Django表单向导,我已经成功创建了一个能够创建新用户的多步骤表单。我有第二个名为UserAddon的模型,我将其设置为OnetoOne关系。我不知道如何发布到该模型并在UserAddon中创建该关系。还有,如果有人知道,我应该使用支票吗

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 

值得注意的是,我的代码是用来将用户的电子邮件地址设置为用户名的


Tags: 用户name模型form表单dataif关系
1条回答
网友
1楼 · 发布于 2024-10-03 09:18:42

事实上,我已经想明白了,请看评论

处理表单数据

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() 

我仍然不清楚检查后的要求,如果形式是有效的,所以任何帮助仍然是一个感谢

相关问题 更多 >