Задать вопрос
@new_username

Почему не работает loaddata (psycopg2.errors.NumericValueOutOfRange)?

Всем привет.

Занимают переводом своего проекта с SQLite на PostgreSQL. Проект уже запущен, поэтому необходимо перенести все данные из базы.
Изменил настройки settings.py, удалил все файлы миграций и контент-тайпы. Потом сделал дамп стандартной командой
python3 manage.py dumpdata > dump.json
и загружал через
python3 manage.py loaddata dump.json

В итоге получил ошибку
Traceback (most recent call last):                                                                                                                                                                                
  File "/home/user/project/venv/lib/python3.11/site-packages/django/db/backends/utils.py", line 89, in _execute                                                                                              
    return self.cursor.execute(sql, params)                                                                                                                                                                       
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                       
psycopg2.errors.NumericValueOutOfRange: ОШИБКА:  smallint вне диапазона

django.db.utils.DataError: Problem installing fixture '/home/user/project/new_dump.json': Could not load city.City(pk=179): ОШИБКА:  smallint вне диапазона


Я понимаю, что джанге не нравится то, что поле `pk` не подходящего формата. Но ведь это поле автоматически джангой генерируется. Могу ли я повлиять на его тип?
На просторах StackOverFlow нашёл ключи, которые вроде бы как отключают загрузку выгрузку первичных ключей, но с ними результат получился аналогичный.
python3 manage.py dumpdata --natural-primary --natural-foreign -e contenttypes -e auth.Permission > dump.json
  • Вопрос задан
  • 89 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы