是否可以在init构造函数之前首先调用类的方法?

时间:2011-08-10 06:35:26

标签: python

我的课程:

from django.contrib.admin.views.main import ChangeList
class MyChangeList(ChangeList):
    def __init__(self, *args):
        ...

    def get_query_set(self):
        ...

我在__init__get_query_set中添加了日志,我注意到后者的日志输出被打印出来(但__init__中的日志输出没有。这可能吗?

1 个答案:

答案 0 :(得分:3)

__init__函数本身可以调用任意方法,Python中对象的构造也可能与__new__一致,因此请确保两个输出都引用同一个对象(例如,通过包含{输出中的{1}}。

要找出谁id(self),您可以使用traceback.print_stack

get_query_set