我有以下迁移(为简单起见删除了逻辑):
def migrate_existing_discounts(apps, _):
ModelA = apps.get_model('myapp', 'ModelA')
ModelB = apps.get_model('myapp', 'ModelB')
class Migration(migrations.Migration):
dependencies = [
('myapp', '0071_auto_20160531_1342'),
]
operations = [
migrations.RunPython(migrate_existing_discounts)
]
运行时会出现以下异常:
LookupError: App 'myapp' doesn't have a 'modelb' model.
ModelA
继承自models.Model
并成功加载。另一方面,ModelB
继承自TranslatableModel,因此它中断了。我读过(2 年前)迁移在加载抽象类(ticket#21786和ticket#21519)时遇到问题,TranslatableModel 就是其中之一。
我以前遇到过这个问题,最后我改用 RunSQL 进行迁移,但我想知道如何正确导入模型,因为必须有办法。
注意:包django-hvad没有迁移,因此没有任何依赖项要添加。