Django视图中url确认的一些问题
我的模特:
故事:
categories = models.ManyToManyField(Category)
类别:姓名| slug
我的网址:
(r'^(?P<cat_slug>.*)/$', 'news.views.archive_category'),
在视图中,我使用:
def archive_category(request, cat_slug):
entry = News.objects.get( categories__slug=cat_slug )
return render_to_response('news_archive_category.html', {'entry':entry, })
如果我有两个或多个类别的故事,则有问题。请帮我。非常感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
评论后编辑
edited after comment
在这种情况下你希望发生什么?您是想显示一个类别中所有条目的列表,还是仅显示一个条目?
News.objects.get()
将总是获取单个项目,如果有多个项目匹配条件,则会引发异常。您应该使用filter()
来代替,将 QuerySet 传递给模板,这样您就需要进行迭代;或者,向您的 urlconf 添加一个条件,以便您也获得特定的条目 slug,这样您就只能获得一个对象。What do you want to happen in this circumstance? Are you trying to show a list of all the entries in a category, or just one?
News.objects.get()
will always get a single item, or raise an exception if there are more than one matching the criteria. Either you should usefilter()
instead, passing a QuerySet to the template, so you'll need to iterate through; or, add a criteria to your urlconf so that you get the specific entry slug as well, so you only get one object.