我有一个子类baz,需要包含在foo和bar中,
class foo():
def __init__()
pass
class baz:
pass
class bar():
def __init__()
pass
class baz:
pass
我想在这种情况下,装饰者可以环绕foo和bar,为每个提供baz,但我似乎无法找到任何编写这样的装饰器的例子。
指针?
答案 0 :(得分:0)
重申这些评论,不要使用此方法为Django创建Admin对象,升级到更高版本的Django :)
FWIW装扮员要做的事情看起来像是:
def add_baz(klass):
def adder():
instance = klass()
class Baz:
bazvar='This is an attribute of Baz'
instance.Baz = Baz
return instance
return adder
@add_baz
class Foo():
def __init__(self):
pass
>>> myfoo = Foo()
>>> myfoo.Baz
<class __main__.Baz at 0x9f213ec>
>>> myfoo.Baz.bazvar
'This is an attribute of Baz'