2017-04-22 64 views
2

我工作的一个Python/Django的/鹡鸰项目,并在某些时候我有一个这样的类:如何将函数结果传递给元组?

class SuperClass(BaseClass): 

    body = StreamField([ 
     ('overview_speakers', OverviewSpeakers()), 
    ]) 

    def some_function(): 
     return 'Hola' 

OverviewSpeakers是期待一个参数的一类,我想尝试通过在some_function()

的结果我尝试都:

body = StreamField([ 
    ('overview_speakers', OverviewSpeakers(self.some_function())), 
]) 

body = StreamField([ 
    ('overview_speakers', OverviewSpeakers(SuperClass.some_function())), 
]) 

但它分别是破口大骂父类没有定义。

我能做些什么来传递函数的结果?

+0

您必须使用它之前定义的功能。在'body'初始化之前放置'some_function'的定义。 – DyZ

+0

@DYZ如何调用该函数? –

+0

没有与'自我'工作,仍然说'自我没有定义' –

回答

1

检查了这一点:

class SuperClass(BaseClass): 

    def some_function(): 
     return 'Hola' 

    body = StreamField([ 
     ('overview_speakers', OverviewSpeakers(some_function())), 
    ]) 
0

您不能引用正在定义的类,但可以在定义后添加属性。所以这应该工作:

class SuperClass(BaseClass): 
    def some_function(): 
     return 'Hola' 

SuperClass.body = StreamField([ 
    ('overview_speakers', OverviewSpeakers(SuperClass.some_function())), 
])