Django DatabaseError - Каков наилучший способ отладки? - PullRequest
0 голосов
/ 06 сентября 2011

У меня возникли некоторые проблемы с базой данных django (бэкэнд postgresql). В проекте была модель (профиль для пользователей) с некоторыми шаблонными элементами.Это некоторое время находилось в нашем проекте и не использовалось.На самом деле я решил, что мне нужно, и я скорректировал модели и создал несколько начальных миграций с Югом.На моем устройстве dev я сбросил всю базу данных, синхронизировал и перенес.Это работало нормально.

Когда я запустил это в производство, я вручную удалил старые таблицы в postgresql, синхронизировал и перенес.Тем не менее, в моем интерфейсе администратора возбуждается ошибка DatabaseError, поскольку какая-то функция ищет поле в старой модели.Я даже удалил всю базу данных postgresql и снова синхронизировал / перенес, и это все еще происходит.Оскорбительное поле называется пол (а не то, что я создал).Миграция работает, и структура базы данных отражает мои модели, но по какой-то причине интерфейс администратора хочет найти это (несуществующее) гендерное поле.Это ошибка:

Ошибка DatabaseEr: столбец user_profiles.gender не существует LINE 1: ... "user_profiles". "Id", "user_profiles". "User_id", "user_prof ...

Я понимаю, что это довольно специфично для сайта, но, возможно, я мог бы получить некоторые подсказки о том, как отладить это?

Спасибо

1 Ответ

1 голос
/ 06 сентября 2011

Если я понимаю вашу проблему, ваш текущий код больше не должен содержать ссылку на «пол», так как старый код был удален.Попробуйте найти исходный файл, который все еще содержит его:

find your-dir -name '*.py'|xargs grep gender

Или есть файл pyc, но файл py был удален.Но Python по-прежнему загружает файл pyc ....

Если это не помогает, пожалуйста, опубликуйте трассировку ascii.

...