Найти - Пользователи
Полная версия: Ошибка maximum recursion depth exceeded while calling a Python object
Начало » Django » Ошибка maximum recursion depth exceeded while calling a Python object
1
inetto
Здравствуйте. Не понимаю в чем проблема. Создал паука, который ходит на другой сайт и берет оттуда некоторую информацию. До сегодняшняго дня скрипт работал нормально, но сегодня случилось это: 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 то все работает нормально.

Может кто-нибудь подсказать в чем проблема? Заранее спасибо.
Александр Кошелев
Покажите полное определение модели.
inetto
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)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB