2016-04-24 2 views
0

Я получаю бит, пытающийся сделать dumpdata из старого db. Недавно я сделал обратную разработку, используя django's inspectdb ... Кроме этого, каждый запрос работает нормально. В рабочем месте MySQL столбец существует. Но при попытке экспортировать данные, которые я получаю:Django dumpdata не может сериализовать существующий столбец

CommandError: Unable to serialize database: no such column: af_datper.locnac 

Использование traceback не обнаруживает какой-либо из моих линий затрагивающий (вставили здесь не загрязнять http://dpaste.com/1DASN1V).

Поле модели уже допускает нулевые значения для этого столбца и столбец имеет в базе данных существует (в том числе рассматривая его с верстаком, inspectdb бы не взял его ...

Я честно не .? знаю, что еще делать любые берущих

ответ

0

Немного копаться в TRACEBACK, я вижу это:

Файл «venv/Библиотека/python3.5/сайт-пакеты/Джанго/DB/бэкэнды /utils.py ", строка 64, в исполнении return self.cursor.execute (sql, params) Файл «venv/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py», строка 323, в исполнении return Database.Cursor. выполнения (самостоятельно, запрос, PARAMS) sqlite3.OperationalError: нет такой колонки: af_datper.locnac

С SQLite documentation:

Если указано имя схемы, она должна быть либо «main», «temp», либо имя присоединенной базы данных. В этом случае новая таблица - , созданная в названной базе данных. Если ключевое слово «TEMP» или «ВРЕМЕННОЕ» происходит между «CREATE» и «TABLE», тогда в базе данных temp создается новая таблица . Ошибочно указывать как имя схемы, так и ключевое слово TEMP или TEMPORARY, если только имя схемы не является «temp». Если не указано имя схемы и ключевое слово TEMP отсутствует, то в основной базе данных создается таблица .

Короче говоря, SQLite не поддерживает foo.bar как имя столбца, если foo не имя базы данных или один из main или temp.

+0

Я использую mysql для этого приложения ... – tutuca

+0

Не в соответствии с вашей трассировкой, которая бросает ошибку на разъем sqlite3. –

+0

Хорошо, это намек. Я использую настраиваемый маршрутизатор, и это приложение разговаривает с mysql, а auth - на sqlite ... Я удалю это и перенесу на mysql ... – tutuca

Смежные вопросы