django-synchro を django 2.2 にアップグレードしようとしています。プロジェクトを django 2.1 にアップグレード済みですが、ContentType オブジェクトに問題があります。
django 2.1 にアップグレードされたバージョンは、ここにあります。
(python runtests.py が動作し、すべてのテストがパスします)
django 2.2.3でエラーが発生しました
django.db.utils.OperationalError: そのようなテーブルはありません: django_content_type
初期化時に、移行はデフォルトのデータベースで行われ、残りはテスト データベース (メモリ内) で行われるようです。そのため、ContentType は残りのコードでは見られません。models.py
読み込み
時にエラー発生(content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE))
どんなアイデアでも大歓迎です...
Django 2.2 のリリース ノートを見てきました
2.2 には後方互換性のない 2 つの変更があり、エラーが発生する可能性があります。
TransactionTestCase のシリアル化されたデータの読み込み: 最初のデータ移行は、データベースのフラッシュ後に、テストの最後に TransactionTestCase に読み込まれるようになりました。古いバージョンでは、このデータはテストの開始時にロードされていましたが、これにより test --keepdb オプションが正しく機能しません (テスト スイート全体の最後でデータベースは空でした)。TransactionTestCase の内部をカスタマイズしていない限り、この変更がテストに影響を与えることはありません。
Test : SQLite 3.20+ の各 TestCase テストの最後に、延期可能なデータベース制約がチェックされるようになりました。これは、延期可能な制約をサポートする他のバックエンドと同様です。これらのチェックは、高価なテーブル イントロスペクションが必要になるため、古いバージョンの SQLite には実装されていません。