Я знаю, что это очень базовая концепция в Django, и я попробовал учебник, но он не работает. Я работаю над базой данных комиксов с моделями, установленными следующим образом (по крайней мере, образец из двух моделей):
Class Title(models.Model):
title = models.CharField(max_length=256)
vol = models.IntegerField("Vol.")
slug = models.SlugField(blank=True, null=True)
#desc = models.CharField(max_length=256)
class Meta:
ordering = ['title']
def get_absolute_url(self):
return "/comics2/title/%s" % self.slug
def __unicode__(self):
return self.title
class Issue(models.Model):
title = models.ForeignKey(Title)
number = models.IntegerField(help_text="Enter the number only. Do not include the hashtag.")
writer = models.ManyToManyField(Creator)
То, что я пытаюсь сделать, это создать страницу, которая показывает список всех проблем в этом заголовке.
Но у меня есть настройки в представлениях, подобных этому:
class AstonishingXMenIssueListView(ListView):
context_object_name = "astonishing_list"
queryset = Issue.objects.filter(title__title="Astonishing X-Men").order_by("number")
template_name = "comics2/astonishing_list.html"
Мой urls.py выглядит так:
(r'^comics2/title/(?P<title_slug>[-\w]+)/$', AstonishingXMenIssueListView.as_view(
)),
Конечно, переход к / uncanny-xmen-v1 / показывает то же самое, что и поразительная ссылка выше.
Очевидно, что это непрактичный способ перечисления проблем по заголовкам для будущих выпусков и названий, поэтому мне нужна его настройка, чтобы мне не приходилось делать это по отдельности. Теперь я попробовал следовать учебному пособию по общим представлениям Django, но получил ошибку кортежа индекса.
Я пробовал это, но это не работает. Это то, что приводит меня к ошибке кортежа индекса.
class IssuesByTitleView(ListView):
context_object_name = "issues_by_title_list"
template_name = "comics2/issues_by_title.html",
def get_queryset(self):
title = get_object_or_404(Title, title__iexact=self.args[0])
return Issue.objects.filter(title=title)
Есть идеи? И кто-то может ответить на детском языке, так как я новичок в Django и Python, поэтому просто попросить меня снова взглянуть на Учебное пособие, не поможет. Так что, возможно, написание кода поможет! Спасибо!