2013-07-05 4 views
1

Я пытаюсь обновить столбцы с новой информацией, но я получаю сообщение об ошибке: «Объект 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, я буду об этом все неправильно?

ответ

3

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

tests = Stock.objects.all() 

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

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

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

+0

/headdesk Я не могу поверить, что не видел этого. Большое вам спасибо за вашу помощь! Я потратил слишком много времени на опечатку! – Rudenate3

Смежные вопросы