アプリケーションには複数のタイプ (記事、曲、プロフィールなど) のオブジェクトがあり、それぞれに独自のテーブルがあります。望ましい機能は、ユーザーがこれらのオブジェクトにコメントを付けられるようにすることです。以下を考慮した最善のアプローチは何ですか:
- ルックアップの待ち時間 (オブジェクトとそのすべてのコメントを取得する)
- データの整合性
- 保守性
オプションは次のとおりです。
Django contrib コメント フレームワークは、削除操作で発生するシグナルを使用して、コメント テーブルからコメントを削除するルーチンを呼び出します。
データベース内のトリガーを持つ Django contrib コメント フレームワーク (コンテンツ タイプ PK とテーブル名の間のマッピングが必要です)。
各オブジェクト タイプに、外部キーを使用してコメント用のテーブルを提供します。
各オブジェクト タイプにコメント用のテーブルを用意し、Django コメント フレームワークを使用します。フレームワークのコメント テーブルを削除し、UNION を使用してビューを作成し、元のコメント フレームワーク テーブルの動作を模倣して、コメント テーブルからすべてのコメント (ON UPDATE/INSERT/DELETE トリガーを含む) を取得します。