PostgreSQL数据库中的表:
CREATE TABLE pmss_recordmodel
(
id serial NOT NULL,
"Name" character varying(100),
CONSTRAINT pmss_recordmodel_pkey PRIMARY KEY (id)
)
WITH (OIDS=FALSE);
ALTER TABLE pmss_recordmodel OWNER TO postgres;
型号:
class RecordModel(models.Model):
def __unicode__(self):
return self.Name
Name = models.CharField(max_length = 100, unique = False, null = True, blank = True)
当我使用空白名称字段发布数据时,form.is_valid()返回False。为什么?我错过了什么吗?
编辑:
class RecordForm(forms.ModelForm):
class Meta:
model = RecordModel
Name = forms.CharField(label = "Имя ", widget = forms.TextInput(attrs = {'size': 15}))
答案 0 :(得分:1)
默认情况下,每个Field类都假定值是必需的
将“required”参数设置为False:
Name = forms.CharField(required = False, label = "Имя ", widget = forms.TextInput(attrs = {'size': 15}))
答案 1 :(得分:0)
您可能在数据库中如何定义字段时遇到问题。
这似乎是将syncdb与最初没有blank=True null=True
的字段一起执行的常见情况,然后在稍后(在初始syncdb之后)添加这些字段以使字段不需要。只需再次运行syncdb即可应用这些设置。它需要数据库迁移或数据库刷新(将清除现有数据,这在开发中不一定是坏的)。