10
Djangoでnullを許可する一意のフィールド
フィールドバーがあるモデルFooを持っています。バーフィールドは一意であるが、私はバーフィールドがある場合、複数のレコードを許可するという意味、それにNULLを許可する必要があり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である複数のfooオブジェクトを作成すると、「このBarを持つFooはすでに存在します」というエラーが発生します。 ただし、データベース(PostgreSQL)に挿入すると: insert into appl_foo ("name", bar) values ('test1', …
135
django
orm
django-models