我正在寻找一种向类(而不是实例)添加动态属性的方法。就像Django对待模特经理人一样。基本上我想达到的是:
class Manager:
def __init__(self, table_name):
self.table_name = table_name
# rest omitted for brevity
class BaseModel:
# somehow create a new instance of Manager
# and send the init param based off BaseModel's child
# class table_name Meta property
class MyModel(BaseModel):
class Meta:
table_name = 'my_table'
MyModel.manager # should return an instance of Manager(table_name='my_table')
我试过用构造器(
__new__
),但这显然只在我至少创建了
MyModel
.