如何将 django-mptt 重建添加到迁移中?

2024-01-02

我已将 django-mptt 添加到现有数据库,并创建新的迁移。

迁移过程被要求提供默认值level, left, right和这样的字段,但不添加model.rebuild对迁移文件的操作。

如何手动向迁移文件添加重建操作?


请尝试以下操作:

from __future__ import unicode_literals
from django.db import migrations
from mptt import register, managers


def rebuild_tree(apps, schema_editor):
    YourMPTTModel = apps.get_model('your_app', 'YourMPTTModel')

    manager = managers.TreeManager()
    manager.model = YourMPTTModel

    register(YourMPTTModel)

    manager.contribute_to_class(YourMPTTModel, 'objects')
    manager.rebuild()


class Migration(migrations.Migration):


  operations = [
      migrations.RunPython(
          rebuild_tree
      )
  ]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 django-mptt 重建添加到迁移中? 的相关文章

随机推荐