Применение миграций для модели перевода

Мы удалили старые поля из наших моделей перед адаптацией админ-панели. Теперь необходимо создать миграцию для этого изменения. Откройте терминал и выполните следующую команду:

python manage.py makemigrations shop --name "remove_untranslated_fields"

Будут выведены следующие данные:

Migrations for 'shop':
    0004_remove_untranslated_fields.py:
        - Remove field name from category
        - Remove field slug from category
        - Remove field description from product
        - Remove field name from product
        - Remove field slug from product

С помощью этой миграции мы удаляем исходные поля и сохраняем переводимые поля.

Таким образом мы создали следующие миграции:

  1. Добавлены поля для перевода в модели.
  2. Перенос существующих данных из исходных полей в поля перевода.
  3. Удалены исходные поля из моделей.

Выполните следующую команду для применения трех созданных нами миграций:

python manage.py migrate shop

Будет выведен результат, включающий следующие строки:

Applying shop.0002_add_translation_model... OK
Applying shop.0003_migrate_translatable_fields... OK
Applying shop.0004_remove_untranslated_fields... OK

Теперь наши модели синхронизированы с базой данных. Давайте переведем объект.

Запустите сервер разработки с помощью python manage.py runserver и откройте в браузере http://127.0.0.1:8000/en/admin/shop/category/add/ . Вы увидите, что страница Add category содержит две вкладки: одна для английского языка, другая для переводов на испанский.

Теперь можно добавить перевод и нажать кнопку Save. Перед изменением убедитесь, что внесенные изменения сохранены.

results matching ""

    No results matching ""