Порядок удаления в панели администратора Django приводит к сбою ограничения FOREIGN KEY
Я искал и нашел много других людей, которые, похоже, столкнулись с той же ошибкой, что и я, или с чем-то похожим, однако я не смог воспроизвести их решения, или, возможно, моя проблема в другом, я не уверен.
Когда я пытаюсь удалить пользователя из панели администратора, я получаю экран ошибки, говорящий IntegrityError at /admin/auth/user/
FOREIGN KEY constraint failed
, но ни в одном месте на всей странице не упоминается ни модель, ни столбец, ни что-либо, что могло бы помочь мне сузить проблему. Я предполагаю, что это связано с моей моделью, которая имеет models.OneToOneField(AuthUser, on_delete = models.CASCADE)
, хотя я думаю, что on_delete должен удалить его, он, кажется, в конечном итоге болтается или что-то, потому что если я сначала удалю запись в этой таблице, а затем удалю пользователя, на которого она ссылается, они будут удалены правильно без проблем.
Я новичок в Django, поэтому почти наверняка что-то не понимаю, любая помощь:
- понимание того, что я должен сделать, чтобы мои записи корректно удалялись при удалении пользователя
- правильно читать страницу ошибки, чтобы знать, что ее вызывает
- какой-то способ переопределить удаление администратора, чтобы сначала удалить из другой таблицы, прежде чем удалять пользователя нормально
- любые другие решения
все очень признательны.
Где я удаляю пользователя, чтобы вызвать ошибку.
Ошибка, которую он мне выдает.
Где я должен удалить запись перед удалением пользователя, чтобы избежать ошибок.
Ну, я сделал несколько последних случайных тестов, прежде чем бросить эту проблему и игнорировать ее, и я столкнулся с тем, что замена AuthUser
на User
все исправляет.
Я понятия не имею, где существует User
, потому что это не существующая таблица в моей базе данных, как AuthUser
, но по какой-то причине с этим все работает просто отлично, так что никаких жалоб от меня.