我如何使用django @lazy装饰器?

时间:2013-03-26 02:35:11

标签: python django lazy-evaluation python-decorators

首先尝试使用django.utils.functional.lazy装饰器。我的函数返回两个列表,所以我用@lazy(list,list)来装饰它。它是一个简单的jane函数,而不是类的方法/属性。

当我尝试调用生成的修饰函数时,我得到一个“'代理'对象不可调用”。

1 个答案:

答案 0 :(得分:4)

我认为你不能使用Django作为装饰者的懒惰。您可以将其用作函数调用:

lazy_function = lazy(f, type)

其中f是您需要延迟的函数,type是预期的数据类型。

另外,你如何归还这两个名单?像:

def a():
    return [], []

如果是,那么从技术上讲,你将返回一个元组,因此你应该使用lazy:

lazy_f = lazy(f, tuple)