s29*_*s29 2 python django lazy-evaluation python-decorators
首先尝试使用 django.utils.functional.lazy 装饰器。我的函数返回两个列表,所以我用@lazy(list, list) 装饰它。这是一个简单的 jane 函数,而不是类上的方法/属性。
当我尝试调用生成的装饰函数时,我得到一个“'代理'对象不可调用”。
我不认为你可以使用 Django 的懒惰作为装饰器。您可以将其用作函数调用:
lazy_function = lazy(f, type)
Run Code Online (Sandbox Code Playgroud)
f你需要懒惰的函数在哪里,type是预期的数据类型。
另外你如何返回这两个列表?喜欢:
def a():
return [], []
Run Code Online (Sandbox Code Playgroud)
如果是,那么从技术上讲,您将返回一个元组,因此您应该将 lazy 用作:
lazy_f = lazy(f, tuple)
Run Code Online (Sandbox Code Playgroud)