6
我有這兩個類:OneToOneField與空=真不允許空場
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,
,現在當我想插入不比爾ProjectParticipation我得到一個bill_id「列空值‘’違反了非空約束」。
該怎麼辦?
「Bill」類應放在「ProjectParticipation」類之前 –
它實際上是在之前,只是粘貼在這裏錯誤的方式。我會改變這一點。 – melbic
可能是在同步數據庫後添加了空約束。刪除數據庫並重新同步數據庫(如果您沒有使用South,請確保已經遷移了模式更改)。 –