我知道这是在Django一个很基本的概念,我已经尝试了教程,但它不工作。我的工作与这样设置的模型一本漫画书数据库(至少两个型号的样品):在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(
)),
当然,去/不可思议-X战警-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的新手,所以简单地告诉我再次查看教程是不会有帮助的。所以,也许写出代码会有所帮助!谢谢!
谢谢你,@piquadrat。尽管出于某种原因,这种方法很有效,但该模板不是指向issues_by_title.html,而是指向issue_list.html。我没有在我的视图或URL中的任何地方使用issue_list,并且我已经将所有实例注释掉了! – AAA 2011-04-17 18:55:30