2

まず、django.utils.functional.lazyデコレータを試してみてください。私の関数は2つのリストを返すので、@ lazy(list、list)で装飾しています。これは単純なジェーン関数であり、クラスのメソッド/プロパティではありません。

結果の装飾された関数を呼び出そうとすると、「'プロキシ'オブジェクトは呼び出せません」というメッセージが表示されます。

4

1 に答える 1

5

Djangoの怠惰なものをデコレータとして使用することはできないと思います。関数呼び出しとして使用できます。

lazy_function = lazy(f, type)

ここfで、はレイジーにするために必要な関数でありtype、は予想されるデータ型です。

また、2つのリストをどのように返しますか?好き:

def a():
    return [], []

はいの場合、技術的にはタプルを返すため、次のようにレイジーを使用する必要があります。

lazy_f = lazy(f, tuple)
于 2013-03-26T05:37:56.613 に答える