简体   繁体   English

表单数据未将数据保存到数据库-Django

[英]Form data not saving data to database - Django

I can't save form data to the database, everytime I try, I get a different error. 我无法将表单数据保存到数据库中,每次尝试时,都会收到另一个错误。

Here's my form model 这是我的表格模型

    class Meta:
        model = Asistente
        exclude = ('evento',)
        widgets = {'nombre': forms.TextInput(attrs={'class': 'form-control'}),
                   'telefono': forms.TextInput(attrs={'class': 'form-control'}),
                   'num_asistentes': forms.TextInput(attrs={'class': 'form-control'})} 

Here's the code to my view. 这是我认为的代码。

    def post(self, request, evento_id):
        evento = Evento.objects.filter(id=evento_id).first()
        form = RegistroAsistenteForm(request.POST)

        if form.is_valid():
            registro_asistente = form.save(commit=False)
            registro_asistente.evento.pk = evento_id
            registro_asistente.save()
        else:
            form = RegistroAsistenteForm()

        return HttpResponseRedirect('/evento-reg/' + str(evento_id) + '/asistente/')```

There are times when I don't get any error, it just don't do anything.

your view should look 你的看法应该看起来

def post(request, evento_id):
    if request.method == 'POST':
       evento = Evento.objects.filter(id=evento_id).first()
       form = RegistroAsistenteForm(request.POST)
       if form.is_valid():
           registro_asistente.evento = evento
           form.save()
           #to get the id u can us form.instance.id
           return redirect('to what ever u want from you urls')

    else:
       form = RegistroAsistenteForm()

    return HttpResponseRedirect('/evento-reg/' + str(evento_id) + '/asistente/')```

this is what gather what you want to do in views, it doesn't take self 这就是您要在视图中做的事情,它不需要自我

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM