以外の真の私は、このモデルを持っている:すべての部品が必ずシリアル番号を持っていないので、Djangoはユニーク=ブランク値
class Part(models.Model):
serial_number = models.CharField(max_length=15, null=True, blank=True, validators=[validate_serial], unique=True)
....
シリアル値は空白とnullにすることができます。しかし、シリアル番号なしで一部を保存した後、ブランクはもはやユニークではありませんし、私はこのエラーを取得:このシリアル番号はすでに存在していると
パートを。
これを回避する方法はありますか?私は既にthis questionを見ましたが、私はモデルフォームを持っていません。私は管理者を使用するか、コード内で直接行います。
adminを使用する場合は、カスタムモデルフォームを定義できます。答えにどのようにリンクしているかを示しました。コードでやっているのであれば、ブランクの値として ""を使うのではなく、 '' part.serial_number = None''を設定してください。 – Alasdair