删除ForeignKey关系时出现Django错误

时间:2011-05-16 09:23:02

标签: python django

我有一个课程如下:

class Mission(models.Model):
    taxi = ForeignKey(Taxi, null=True, blank=True, unique=True, related_name="mission")
    passenger = ForeignKey(Passenger, null=True, blank=True, unique=True, related_name="mission")

现在Class Taxi中有一个方法:

def turn_free(self):
    ....
    self.mission_set.clear()
    passenger.mission_set.clear() # passenger has been fetched

首次尝试在出租车中清除任务成功,但乘客的第二次尝试报告错误:ccst_mission.passenger_id可能不是NULL

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

确保您的数据库已正确更新。

例如,如果您最初拥有(未指定null = True)

passenger = Foreignkey(Passsenger, unique=True)

稍后添加null = True,常规syncdb不会更新该列以允许null。

如果其中任何一个听起来很熟悉,请尝试在应用上执行sqlclear(或完全删除数据库),然后再执行一个新的syncdb。