2011-05-16 119 views
0

時,我有一個類如下:Django的偏差消除ForeignKey的關係

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") 

現在有在班出租車的方法:

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

第一次嘗試清除出租車任務順利進行,但乘客的第二個報告錯誤:ccst_mission.passenger_id可能不是NULL

有人可以幫我嗎?

+1

模式是否準確反映模型? – 2011-05-16 09:25:20

+0

你是什麼意思? – dementrock 2011-05-16 09:57:52

+0

正是我寫的。 – 2011-05-16 10:11:21

回答

0

確保您的數據庫已正確更新。

例如,如果您最初有(沒有指定空=真)

passenger = Foreignkey(Passsenger, unique=True) 

,並添加了空=真以後,經常執行syncdb不會更新該列允許空。

如果聽起來很熟悉,請嘗試在應用程序上執行sqlclear(或完全刪除數據庫),然後執行新的syncdb。