私の django プロジェクトでは、本番用に mysql db を使用し、テスト用に sqlite を使用しています。
問題は、コードの一部がモデルの整合性チェックに依存していることです。これは mysql でうまく機能しますが、テストで同じコードを実行しても整合性エラーはスローされません。
sqlite で外部キーのチェックを有効にする必要があることはわかっています。
PRAGMA foreign_keys = 1;
ただし、このアクティベーションを行う最良の方法がどこにあるのかわかりません (同じ質問はこちら)。
さらに、次のコードは機能しません。
def test_method(self):
from django.db import connection
cursor = connection.cursor()
cursor.execute('PRAGMA foreign_keys = ON')
c = cursor.execute('PRAGMA foreign_keys')
print c.fetchone()
>>> (0,)
何か案は?