在Django中允许为空的唯一字段
我有模型Foo,它具有栏杆。bar字段应该是唯一的,但允许为空,这意味着如果bar字段为null,我想允许多个记录,但如果不是,null则值必须是唯一的。 这是我的模型: class Foo(models.Model): name = models.CharField(max_length=40) bar = models.CharField(max_length=40, unique=True, blank=True, null=True, default=None) 这是该表的相应SQL: CREATE TABLE appl_foo ( id serial NOT NULL, "name" character varying(40) NOT NULL, bar character varying(40), CONSTRAINT appl_foo_pkey PRIMARY KEY (id), CONSTRAINT appl_foo_bar_key UNIQUE (bar) ) 当使用管理界面在bar为null的情况下创建多个1个foo对象时,它给我一个错误:“此Bar的Foo已经存在。” 但是,当我插入数据库(PostgreSQL)时: insert into appl_foo ("name", bar) values ('test1', …