6

私はこれらの2つのクラスを持っています:

class Bill(models.Model):
  date = models.DateField()
  total_amount_chf = models.DecimalField('Cost (in CHF)', max_digits=10, decimal_places=2)

class ProjectParticipation(models.Model):
  project = models.ForeignKey('Project')
  user = models.ForeignKey(User)
  is_admin = models.BooleanField()
  bill = models.OneToOneField(Bill, on_delete=models.SET_NULL, null=True, blank=True)

SQL データベースを作成しているときに、ProjectParticipation のテーブルに次のフィールドが表示されます。

 bill_id integer NOT NULL,
 CONSTRAINT expenses_projectparticipation_bill_id_fkey FOREIGN KEY (bill_id)
  REFERENCES expenses_bill (id) MATCH SIMPLE
  ON UPDATE NO ACTION ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED,

Bill なしで ProjectParticipation を挿入しようとすると、「列 "bill_id" の null 値が null 以外の制約に違反しています」というメッセージが表示されます。

それに対して何をすべきか?

4

1 に答える 1

6

Null Constraintデータベースを同期した後に後で追加した可能性があります。データベースを削除し、データベースを再同期します ( Django-Southを使用していない場合は、スキーマの変更を移行したことを確認してください)。

于 2012-12-28T12:03:32.800 に答える