倚天杖
2023-08-18 16:12:30
我正在做一個簡單的用戶業(yè)務(wù)應(yīng)用程序,其中用戶擁有一項(xiàng)或多項(xiàng)業(yè)務(wù)。問題是我創(chuàng)建的業(yè)務(wù)表單沒有將其數(shù)據(jù)保存到數(shù)據(jù)庫中。該用戶擁有所有權(quán)限并且處于活動狀態(tài),我可以毫無問題地保存創(chuàng)建用戶表單中的數(shù)據(jù)。怎么了? 查看.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數(shù)據(jù)庫配置:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bdtg1', 'USER':'juan', 'PASSWORD':'juanjo123', 'HOST':'127.0.0.1', 'PORT':'3306' }}
1 回答

小怪獸愛吃肉
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個贊
AFormView
沒有.save()
表單,因此它確實(shí)不會在數(shù)據(jù)庫中創(chuàng)建記錄。默認(rèn)情況下,如果表單成功,它會重定向到成功 URL,僅此而已。例如,a 的典型用例FormView
是發(fā)送電子郵件而不是將其保存到數(shù)據(jù)庫。
您可以重寫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')
添加回答
舉報(bào)
0/150
提交
取消