django中具有多表继承的数据库完整性问题

时间:2015-01-24 23:20:41

标签: django-models

以下是相关模型:

class Event(models.Model):
    objects = InheritanceManager()

    game = models.ForeignKey(Game)
    time = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ['time']

class ShipMoveEvent(Event):
    objects = InheritanceManager()

    ship = models.ForeignKey(Ship)
    space = space(null=True, blank=True)

class DepthChargeEvent(ShipMoveEvent):
    target = space()
    nearMiss = models.PositiveSmallIntegerField()
    hit = models.ForeignKey(Sub, blank=True, null=True)

我可以创建一个ShipMoveEvent。当我去创建DepthChargeEvent时,我在保存时遇到了这个错误:

django.db.utils.IntegrityError: NOT NULL constraint failed: sub_search_depthchargeevent.event_ptr_id

任何想法为什么?我很难过。它显然与django的多表继承有关。

1 个答案:

答案 0 :(得分:0)

这似乎是sqlite数据库绑定中的一个错误。我切换到postgresql并且从那时起就没有这个问题。