通过访问对象的__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:
给定一个对象和它的一个属性(或方法),python从哪个类解析它呢?在
要获取方法的定义位置,请使用
method.__func__.__qualname__
。这需要Python>;=3.3。在旧Python中,您可以使用qualname包。在参见以下示例:
产生输出:
^{pr2}$如果您使用的是qualname软件包:
^{3}$相关问题 更多 >
编程相关推荐