Django 表单已发送但未保存到数据库

我正在做一个简单的用户业务应用程序,其中用户拥有一项或多项业务。问题是我创建的业务表单没有将其数据保存到数据库中。该用户拥有所有权限并且处于活动状态,我可以毫无问题地保存创建用户表单中的数据。怎么了? 查看.py:


 class crear_negocio(LoginRequiredMixin, FormView):

    template_name = "tienda/crear_negocio.html"

    form_class= Negocio_Form

    success_url = reverse_lazy('tienda_app:crear_negocio')

    login_url = reverse_lazy('register_app:logIn')

form.py:


class Negocio_Form(forms.ModelForm):

    class Meta:

        model = Negocio_Model

        fields = ("Nombre_Negocio","Administrador","Descipcion_Negocio",'Correo_Negocio','Telefono_Negocio','Direccion_Negocio')

Model.py:


class Negocio_Model(models.Model):

    Nombre_Negocio = models.CharField(max_length=25)

    Administrador = models.ForeignKey(Usuario_Model, on_delete=models.CASCADE)

    Descipcion_Negocio = models.TextField(null=True, blank=True)

    Correo_Negocio = models.EmailField()

    Telefono_Negocio = models.CharField(max_length=13)

    Direccion_Negocio = models.CharField(max_length=25)

    def __str__(self):

        return self.Nombre_Negocio+' '+self.Correo_Negocio+' '+self.Telefono_Negocio+' '+self.Direccion_Negocio

数据库配置:


DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'NAME': 'bdtg1',

        'USER':'juan',

        'PASSWORD':'juanjo123',

        'HOST':'127.0.0.1',

        'PORT':'3306'

    }

}


倚天杖
浏览 120回答 1
1回答

小怪兽爱吃肉

AFormView没有.save()表单,因此它确实不会在数据库中创建记录。默认情况下,如果表单成功,它会重定向到成功 URL,仅此而已。例如,a 的典型用例FormView是发送电子邮件而不是将其保存到数据库。您可以重写form_valid(…)方法 [Django-doc]来保存表单,但最好使用CreateView[Django-doc]:from django.views.generic.edit import CreateViewclass crear_negocio(LoginRequiredMixin, CreateView):    template_name = 'tienda/crear_negocio.html'    form_class= Negocio_Form    success_url = reverse_lazy('tienda_app:crear_negocio')    login_url = reverse_lazy('register_app:logIn')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript