2

すべてのモデルのデフォルトのオブジェクト マネージャを変更する方法はありますか? (これには、サードパーティ アプリのオブジェクト マネージャーが含まれます)

4

2 に答える 2

2

デフォルトのマネージャーは、 の関数ensure_default_managerにアタッチされていますdjango.db.models.manager。デフォルトで class のマネージャーをアタッチしますManager。この関数をモンキーパッチして、別の (のサブクラス) をアタッチできますManager

ただし、これが解決しようとしている問題に対する最も理想的な解決策であるかどうかを検討する必要があります。

于 2012-04-07T15:24:55.540 に答える
0

本当にそれを行う必要がある場合は、django コード自体を変更してください。モンキーパッチもオプションです。そのためのテクニックはたくさんあります。

于 2012-04-07T20:00:53.470 に答える