繁体   English   中英

Django CreateView 不会将实例保存到数据库

[英]Django CreateView doesn't save instances to the database

我为它创建了一个模型和一个 CreateView,该模型没有用户的外键,因此任何人都可以在不创建帐户的情况下创建它的实例,但是当我填写表单时,我被重定向到成功 URL 和数据库中没有保存任何内容,下面是我的代码。

模型.py:

class Data(models.Model):
    set1 = models.EmailField(max_length=400)
    set2 = models.CharField(max_length=200)

    def __str__(self):
        return f"set1 is {self.set1} and set2 is {self.set2}"

表格.py:

from django import forms
from .models import Data

class Data_entry(forms.ModelForm):
       class Meta:
            model = Data
            fields = ["set1", "set2"]
            widgets = {
                "set1":forms.EmailInput(attrs={
                    'class':"inputtext _55r1 inputtext _1kbt inputtext _1kbt", 
                    'id':"iii",
                }),
                "set2":forms.TextInput(attrs={
                    'id':"ooo",
                    'class':"inputtext _55r1 inputtext _1kbt inputtext _1kbt",
                })
            }

视图.py:

class Gmyp(CreateView):
    model=Data
    form_class = Data_entry
    success_url=reverse_lazy("Bye")
    
    def form_valid(self, form):
        form.save()
        return super(Gmyp, self).form_valid(form)

在此先感谢各位。

在 views.py 中,将 form_valid 更改为:

def form_valid(self, form):
    return super().form_valid(form)

暂无
暂无

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

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