#python #django
#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")
Теперь в классе Taxi есть метод:
def turn_free(self):
....
self.mission_set.clear()
passenger.mission_set.clear() # passenger has been fetched
Первая попытка очистить миссию в Taxi выполняется успешно, но вторая попытка для пассажира сообщает об ошибке: ccst_mission.passenger_id может быть не нулевым
Может ли кто-нибудь мне помочь?
Комментарии:
1. Точно ли схема отражает модель?
Ответ №1:
Убедитесь, что ваша база данных была обновлена должным образом.
Например, если у вас изначально было (без указания null = True)
passenger = Foreignkey(Passsenger, unique=True)
И добавил значение null = True позже, обычная база данных syncdb не будет обновлять этот столбец, чтобы разрешить значение null.
Если что-либо из этого звучит знакомо, попробуйте выполнить sqlclear в приложении (или полностью удалить базу данных), а затем создать новую syncdb.