# Generated by Django 3.1.6 on 2021-03-11 17:24

from django.db import migrations


def apply_migration(apps, schema_editor):
    """
    Функция, которая будет выполнена при применении миграции.

    В ней для каждой статьи в новую связь многие-ко-многим, выполненную
    через поле tag без использования сводной модели устанавливаются теги, которые
    были добавлены через старую связь через поле tags_old (до переименования называлось также tags),
    релизованную с использованием промежуточной модели
    """
    Articles = apps.get_model('article', 'Article')
    articles = Articles.objects.all()
    for article in articles:
        article.tags.set(article.tags_old.all())


def rollback_migrations(apps, schema_editor):
    """
    Функция, которая будет вызвана при откате миграции.

    В ней мы для каждой статьи удаляем теги, которые были добавлены при применении миграции
    """
    Articles = apps.get_model('article', 'Article')
    articles = Articles.objects.all()
    for article in articles:
        article.tags.all().delete()

class Migration(migrations.Migration):

    dependencies = [
        ('article', '0008_article_tags'),
    ]

    operations = [
        migrations.RunPython(apply_migration, rollback_migrations)
    ]
