Django Migratons: Каков наилучший стандартный способ сброса и загрузки данных в БД, кроме использования сторонних приложений?

Я новичок в Django и заинтересован в углубленном изучении миграций, поэтому я не хочу использовать сторонние приложения (например, flyway...)

Я хочу знать, как сбросить сотни данных в мою БД Postgres без использования сторонних приложений.

Вы можете напрямую использовать инструменты postgresql:

существует функция под названием fixtures, которую вы можете использовать: это пример дампа данных

django-admin dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]]

Вот что я пытался перенести мою базу данных из db.sqlite3 в PostgreSQL.

  1. Выгрузка данных в data.json файл.

    python manage.py dumpdata > data.json

  2. Отредактируйте settings.py файл вашего проекта и измените настройки базы данных. (В моем случае я использовал PostgreSQL от Heroku. Вы можете получить все необходимые детали у соответствующих поставщиков баз данных (AWS, Heroku и т.д.).

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': ' ', 
'USER':' ', 
'PASSWORD':' ’, 
'HOST':' ',
'PORT':'5432'
}
}
  1. python manage.py migrate --run-syncdb

  2. python manage.py loaddata data.json

При возникновении ошибок:

Ошибка разбора JSON:

Убедитесь, что файл data.json сохранен с кодировкой utf-16 LE (угаданной VS Code).

Перейти к:

C:\Users\UserName\AppData\Local\Programs\Python\Python39\Lib\sitepackages\django\core
. serializers\json.py

<
 stream_or_string = stream_or_string.decode()

With:

 stream_or_string = stream_or_string.decode('UTF-16')
Вернуться на верх