我的类(class):
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__ 中的日志输出没有打印出来)
。这可能吗?
最佳答案
__init__
函数本身可以调用任意方法,Python 中对象的构造也可能会变得复杂 __new__
,因此请确保两个输出引用相同的对象(例如,通过在输出中包含 id(self)
)。
要找出谁调用了 get_query_set
,您可以使用 traceback.print_stack
:
import traceback
traceback.print_stack()
关于python - 是否可以在 init 构造函数之前先调用类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7006763/