Ошибка Django при удалении отношения ForeignKey - PullRequest
0 голосов
/ 16 мая 2011

У меня есть следующий класс:

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 Ответ

0 голосов
/ 16 мая 2011

Убедитесь, что ваша база данных была обновлена ​​должным образом.

Например, если вы изначально (без указания null = True)

passenger = Foreignkey(Passsenger, unique=True)

И позже добавили null = True,обычный syncdb не будет обновлять этот столбец для разрешения нуля.

Если что-то из этого звучит знакомо, попробуйте выполнить sqlclear в приложении (или полностью удалить базу данных), а затем выполнить новый syncdb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...