0

セロリのcrontabで実行するカスタムコマンドを作成しようとしています。このコマンドは、データベースからデータを抽出し、リストを作成して、その情報をリストとしてredisにダンプします。このリストは、他のワーカーによって使用されます。

ただし、NameErrorが発生します。これは、関連するスタックとGoogleの投稿を読んだにもかかわらず解決できませんでした。

以下の私のコード:

from django.core.management.base import NoArgsCommand, CommandError
from detail.models import SD
import redis

class Command(NoArgsCommand):

    help = 'Gathers the symbols from the database and generates a list for crontabs, saving to redis.'

    def handle_noargs(self, **options):

        all = SD.objects.all()

        data = []

        for info in all:
            data.append(info.symb)  

        r = redis.Redis()

        try:
            r.delete('allsymbols')
        except:
            pass

        for xyz in data: **<---- the NameError refers to this line**
            r.rpush('allsymbols', xyz)

トレースバック

File "C:\.....command.py", line 5, in <module>
class Command(NoArgsCommand):
File "C:\.....command.py", line 26, in Command
for xyz in data:

NameError:名前'データ'が定義されていません

4

1 に答える 1

1

スクリプトには、タブとスペースが混在しています。

pep8のように、スペースのみを使用する必要がありますが、すべてのスクリプトで同じものを使用する限り、選択はあなた次第です。

于 2012-05-15T12:10:28.267 に答える