Python 如果值不是以形式给出的,那么它是否默认不存储空值?

Python 如果值不是以形式给出的,那么它是否默认不存储空值?,python,django,Python,Django,我在django中创建了一个表单。我需要将imagefield设置为可选,因此我给出了required=False。在我的模型中,我给出了default=None。我的问题是,如果用户没有设置配置文件图片,默认值None没有存储在数据库中 forms.py class Register(forms.Form): Email = forms.EmailField(widget=forms.TextInput(attrs=

我在django中创建了一个表单。我需要将imagefield设置为可选,因此我给出了required=False。在我的模型中,我给出了default=None。我的问题是,如果用户没有设置配置文件图片,默认值None没有存储在数据库中

forms.py

class Register(forms.Form):
    Email = forms.EmailField(widget=forms.TextInput(attrs= 
                                           {"class":"inputvalues"}))
    Username = forms.CharField(widget=forms.TextInput(attrs= 
                            {"class":"inputvalues"}))
    Password = forms.CharField(widget=forms.PasswordInput(attrs= 
                          ({"class":"inputvalues"})))
    Firstname = forms.CharField(widget=forms.TextInput(attrs= 
                    {"class":"inputvalues"}),max_length=30)
    Lastname = forms.CharField(widget=forms.TextInput(attrs= 
                         {"class":"inputvalues"}),max_length=40)
    Confirm_Password = forms.CharField(widget=forms.PasswordInput(attrs= 
                                 ({"class":"inputvalues"})))
    picture = forms.ImageField(required = False)
models.py

class Profile(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE)
    image = models.ImageField(upload_to='media',default=None)
views.py

def register(request):
    if request.method == "POST":
        form = Register(request.POST,request.FILES)
        pro=Profile()
        if form.is_valid():
            email = form.cleaned_data['Email']
            User_name=form.cleaned_data['Username']
            Password=form.cleaned_data['Password']
            firstname=form.cleaned_data['Firstname']
            lastname=form.cleaned_data['Lastname']
            user=User.objects.create_user(username=User_name,
                                    password=Password,email=email,
                          first_name=firstname,last_name=lastname)
            if form.cleaned_data['picture']:
                pro.image = request.FILES['picture']
                pro.user = user
                pro.save()
            redirect('/')
未提供图片时不保存pro。 尝试将代码更改为:

        if form.cleaned_data['picture']:
            pro.image = request.FILES['picture']
        pro.user = user
        pro.save()

默认值None未存储在数据库中您所说的未存储是什么意思?你在这个领域还有其他的东西吗?是否收到错误消息?无表示字段中没有存储值。如果您知道null和none之间的区别,那么更容易理解。如果要在db字段上设置默认值None,请使用default=NoneI GIVED default=None。这只是在用户模型中创建一个用户。与该用户无关的任何内容都存储在配置文件模型中。它甚至没有给出错误消息。您需要在配置文件模型上设置default=None