Как изменить объект модели сайта в миграции данных django? - PullRequest
0 голосов
/ 21 сентября 2019

Я хочу изменить отображаемое имя и домен сайта с example.com на mydomain.com.Обычно я могу войти в админку django и сделать это.Но я хочу использовать миграцию данных.Мой код выглядит следующим образом:

from django.db import migrations


def change_site_name_from_example_to_mydomain_func(apps, schema_editor):
    Site = apps.get_model('sites', 'Site')
    site = Site.objects.get(name='example.com')
    site.name = 'mydomain.com'
    site.domain = 'mydomain.com'
    site.save()


class Migration(migrations.Migration):

    dependencies = [
        ('accounts', '0006_populate_database_createsuperuser'),
    ]

    operations = [
        migrations.RunPython(change_site_name_from_example_to_mydomain_func),
    ]

Однако я получаю сообщение об ошибке, в котором говорится, что такого приложения, как сайты, не существует.Вопрос в том, как я могу использовать модель сайта при переносе данных?Ошибка такая: LookupError: No installed app with label 'sites'.

1 Ответ

0 голосов
/ 21 сентября 2019

Вопрос, на который вы ссылаетесь, предполагает добавление зависимости в приложение сайтов, например

dependencies = [
    ('accounts', '0006_populate_database_createsuperuser'),
    ('sites', '0002_alter_domain_unique'),
]
...