私はこれをやろうとしています:
from django.db.models.fields.related import RelatedManager
オブジェクトが関連するマネージャーであるかどうかをテストできるようにしたいからです。
isinstance(obj, RelatedManager)
ただし、次のエラーが発生し続けます:エラー:名前RelatedManagerをインポートできません
私はこれをやろうとしています:
from django.db.models.fields.related import RelatedManager
オブジェクトが関連するマネージャーであるかどうかをテストできるようにしたいからです。
isinstance(obj, RelatedManager)
ただし、次のエラーが発生し続けます:エラー:名前RelatedManagerをインポートできません
関連するマネージャー クラスは、実行時に django.db.models.fields.related のジェネレーター関数内で作成されるため、それらを直接インポートすることはできません。オブジェクトが特定の関係の関連マネージャーであるかどうかを確認したい場合は、 を使用できますisinstance(obj, MyModel.my_relation.__class__)
。オブジェクトに必要なプロパティがあるかどうかを判断するために使用することもできhasattr
(ダックタイピング)、 isinstance を完全に使用しないようにすることもできます。