1

オブジェクトの属性にアクセスすることで、オブジェクトの 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 がそれを解決しているクラスをどのように判断できますか?

4

1 に答える 1