Обновление набора запросов

Вопрос:

Я пытаюсь обновить столбцы с новой информацией, но я получаю сообщение об ошибке: «объект instancemethod» не является итерируемым «, и я не могу понять, почему.

Ошибка возникает при вызове этой функции:

def update():
tests = Stock.objects.all
for test in tests:
tick = test.ticker
mo2 = get_dividend_per_share(tick)
moy = get_dividend_yield(tick)
mo3 = 1 * (Decimal(moy) / 100)
mop = get_price_earnings_growth_ratio(tick)
mod = Stock(price=mo, divps=mo2, divpd=mo3, peg=mop)
mod.save()

Я относительно новичок в Django, я все об этом неправильно?

Лучший ответ:

Просто небольшая опечатка, вы пропустили вызов функции:

tests = Stock.objects.all()

Если вы работаете в интерактивной оболочке, вы можете увидеть:

>>> type(Stock.objects.all)
<type 'instancemethod'>

при вызове метода all() возвратит iterable объект, а именно Django QuerySet.

Оцените статью
TechArks.Ru
Добавить комментарий