オブジェクトの属性にアクセスすることで、オブジェクトの mro を簡単に判断でき__mro__
ます。
私の場合、私たちが経験している現在の mro 地獄を避けるために、もつれを解こうとしている非常に複雑なヒエラルキーがあります。
次のような非常に長い mro チェーンがあります。
(<class 'CompanyUserViewSet'>, <class 'CompanyGenericViewSet'>,
<class 'CompanyDispatchMixin'>, <class 'CompanyCorsLiteMixin'>,
<class 'CorsLiteMixin'>, <class 'ErrorHandlingMixin'>, ..., <type 'object'>)
これは質問のために短縮されていますが、この場合は19
クラスに要約されます。
私は現在問題を抱えています: これらのクラスのどれから python がas_view
メソッドを解決しているかを知る必要があります。
as_view
これらを順番にチェックできることはわかっていますが、呼び出されている が正しいものではないため、何が間違っているのかわかりません。
メソッドの呼び出しは非常に単純CompanyUserViewSet
です。Rest Framework がルーターの URL を構築するために使用している があります。
view = viewset.as_view(mapping, **route.initkwargs)
オブジェクトとその属性 (またはメソッド) の 1 つが与えられた場合、Python がそれを解決しているクラスをどのように判断できますか?