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

Миграция данных существующей модели в MPTTModel?

Имеется модель с данными. Установил django-mptt, но как мне теперь мигрировать данные из старой модели в новую MPTTModel?
Tag(models.Model):
    name = models.CharField(u'Название', max_length=255, unique=True)
    parent = models.ForeignKey('self', verbose_name='Родительский тег', null=True, blank=True, related_name='children')


сделать:
Tag(MPTTModel):
    name = models.CharField(u'Название', max_length=255, unique=True)
    parent = TreeForeignKey('self', on_delete=models.CASCADE, verbose_name='Родительский тег', null=True, blank=True, related_name='children')


Когда делаю makemigrations, то меня просят проставить дефолтные значения, но после migrate все теги превращаются в одноуровневые теги, без вложенных тегов.
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл Python-разработчик
    6 месяцев
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
$ python manage.py shell

In [1]: from some_app.models import Tag
In [2]: Tag.objects.rebuild()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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