Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Ошибка maximum recursion depth exceeded while calling a Python object [RSS Feed]

#1 Март 28, 2011 17:43:44

inetto
От:
Зарегистрирован: 2011-03-28
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка maximum recursion depth exceeded while calling a Python object

Здравствуйте. Не понимаю в чем проблема. Создал паука, который ходит на другой сайт и берет оттуда некоторую информацию. До сегодняшняго дня скрипт работал нормально, но сегодня случилось это: maximum recursion depth exceeded while calling a Python object.

Вот, код скрипта:

def spider_episode(request):
account = request.user
if account.is_authenticated():
if request.method == 'POST':
url = request.POST['main_url']
doc = urllib.urlopen(url).read()

show_name = BeautifulSoup(''.join(doc)).findAll('div', {"class" : "title"})[0].find("a").contents[0]

show = TVShow.objects.get(original_name = show_name)

return render_to_response('spider.html', {'episode': True, 'show': show_name, }, context_instance=RequestContext(request))
return render_to_response('spider.html', {'episode': True}, context_instance=RequestContext(request))
Бесконечный цыкл явно возникает на строчке: show = TVShow.objects.get(original_name = show_name) потому что если обернуть ее в try: … except pass то все работает нормально.

Может кто-нибудь подсказать в чем проблема? Заранее спасибо.



Отредактировано (Март 28, 2011 18:11:01)

Офлайн

#2 Март 28, 2011 18:22:03

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Ошибка maximum recursion depth exceeded while calling a Python object

Покажите полное определение модели.



Офлайн

#3 Март 28, 2011 18:33:31

inetto
От:
Зарегистрирован: 2011-03-28
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка maximum recursion depth exceeded while calling a Python object

class TVShow(models.Model):
russian_name = models.CharField(max_length = 90, blank = True)
original_name = models.CharField(max_length = 90)
date_of_release = models.DateField(blank = True, null = True)
complete = models.BooleanField(blank = True)
countries = models.ManyToManyField(Country, null = True, blank = True)
number_of_seasons = models.IntegerField(blank = True, null = True)
duration_episode = models.IntegerField(blank = True, null = True)
creators = models.ManyToManyField(People, blank = True, related_name = 'creators')
main_starring = models.ManyToManyField(People, blank = True, related_name = 'actors')
site = models.URLField(blank = True)
genre = models.ManyToManyField(Genre, blank = True)
channels = models.ManyToManyField(TVChannel, blank = True)
awards = models.ManyToManyField(Award, blank = True)
annotation = models.TextField(blank = True)
logo = models.BooleanField(blank = True)

def __unicode__(self):
return self.original_name

def get_absolute_url(self):
return u'%s/tvshow/%s/' % (settings.DOMAIN, self.id)



Офлайн

  • Начало
  • » Django
  • » Ошибка maximum recursion depth exceeded while calling a Python object[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version