次の移行があります(簡単にするためにロジックを削除しました):
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
、正常にロードされました。一方、TranslatableModelModelB
から継承しているため、壊れます。(2 年前) 移行で抽象クラス ( ticket#21786およびticket#21519 ) のロードに問題があり、TranslatableModel がその 1 つであることを読みました。
以前にこの問題が発生したことがあり、代わりに RunSQL に移行することになりましたが、モデルを適切にインポートする方法を知りたいです。方法があるはずです。
注: パッケージdjango-hvadには移行がないため、追加する依存関係はありません。