Django:已保存排除的字段
我有一个模型:Django:已保存排除的字段,django,forms,models,Django,Forms,Models,我有一个模型: from django.db import models from tinymce.models import HTMLField class Team(models.Model): name = models.CharField(max_length=100, verbose_name='Team name') city = models.CharField(max_length=100, verbose_name='Team city') biogr
from django.db import models
from tinymce.models import HTMLField
class Team(models.Model):
name = models.CharField(max_length=100, verbose_name='Team name')
city = models.CharField(max_length=100, verbose_name='Team city')
biography = HTMLField(verbose_name='Team biography')
country = models.ForeignKey('Country')
slug = models.SlugField(max_length=100)
def __str__(self):
return self.name
class Country(models.Model):
name = models.CharField(max_length=100, verbose_name='Country name')
code = models.CharField(max_length=5, verbose_name='Country code')
def __str__(self):
return self.code
以及此模型的表格:
from django import forms
from teams.models import Team
class TeamForm(forms.ModelForm):
class Meta:
model = Team
fields = (
'biography',
'city',
'country'
)
这是我的观点:
def add(request):
if request.method == 'POST':
form = TeamForm(request.POST)
if form.is_valid():
send = True
form.save()
else:
form = TeamForm()
return render(request, 'teams/add.html', locals())
如您所见,所有模型字段都是必需的,因为我没有在模型属性中将参数“null”添加到True。
在我的模型中,为了进行测试,我只指定了字段传记、城市和国家
但当我填写并发送表单时,数据保存在数据库中,但缺少名称和slug
为什么我没有django例外?
感谢您的帮助但是,这两个字段都不另存为空。它们都是字符字段(SlugField是CharField的一个子类),空的CharField保存为空字符串-从数据库的角度来看,这是完全有效的。但是,这两个字段都不保存为Null。它们都是字符字段(SlugField是CharField的子类),空的CharField保存为空字符串-从数据库的角度来看,这是完全有效的。这是您真正的缩进吗?你保存不管是否有效,但我有相同的问题是,你真正的缩进?无论是否有效或是否已编辑,您都要保存,但我有相同的问题OK,所以mysql保存它有空字符串??例如,如果我没有在表单页面中填写“城市”字段,我会收到一条错误消息…是的,城市字段在您的表单上。我不明白。我的模型可以将名称和slug保存为空字符串,但在我的表单中,如果我没有为字段指定一个值,它就不能保存它?好吧,mysql save它有空字符串??例如,如果我没有在表单页面中填写字段city,我会收到一条错误消息…是的,city字段在你的表单上。我不明白。我的模型可以将name和slug保存为空字符串,但是在我的表单中,如果我没有为字段指定值,它救不了它吗?