我正在做一个简单的用户业务应用程序,其中用户拥有一项或多项业务。问题是我创建的业务表单没有将其数据保存到数据库中。该用户拥有所有权限并且处于活动状态,我可以毫无问题地保存创建用户表单中的数据。怎么了? 查看.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' }}
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
AFormView
没有.save()
表单,因此它确实不会在数据库中创建记录。默认情况下,如果表单成功,它会重定向到成功 URL,仅此而已。例如,a 的典型用例FormView
是发送电子邮件而不是将其保存到数据库。
您可以重写form_valid(…)
方法 [Django-doc]来保存表单,但最好使用CreateView
[Django-doc]:
from django.views.generic.edit import CreateView
class 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')
添加回答
举报
0/150
提交
取消