【发布时间】:2012-05-22 14:26:42
【问题描述】:
我正在尝试创建一个自定义命令以在我的 celery crontabs 上运行,该命令从我的数据库中提取数据,创建一个列表,然后将该信息作为列表转储到 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: 名称“数据”未定义
【问题讨论】:
-
从您的帖子来源看来,您有混合制表符和空格。
-
@jpic - 这可能是我将其转换为代码块的时候。我不认为这是导致错误的原因。
-
@jpic - 实际上是一秒。那可能正在这样做。会确认的。
-
@jpic 是的,它成功了!这很奇怪 - 在空格导致错误之前我从未遇到过这种情况。
标签: python django redis crontab django-celery