Django视图中URL确认的一些问题

Django视图中URL确认的一些问题,django,django-templates,django-urls,Django,Django Templates,Django Urls,我的型号: (r'^(?P<cat_slug>.*)/$', 'news.views.archive_category'), 故事: categories = models.ManyToManyField(Category) 类别:名称| slug 我的URL: (r'^(?P<cat_slug>.*)/$', 'news.views.archive_category'), 如果我有两个或两个以上类别的故事,它就有问题了。请帮帮我。非常感谢 在这种情况下,您希望发生

我的型号:

(r'^(?P<cat_slug>.*)/$', 'news.views.archive_category'),
故事:

categories = models.ManyToManyField(Category)
类别:名称| slug

我的URL:

(r'^(?P<cat_slug>.*)/$', 'news.views.archive_category'),

如果我有两个或两个以上类别的故事,它就有问题了。请帮帮我。非常感谢

在这种情况下,您希望发生什么?您是要显示一个类别中所有条目的列表,还是仅显示一个

News.objects.get()
将始终获取单个项,如果有多个项与条件匹配,则引发异常。或者您应该使用
filter()
,将查询集传递给模板,因此您需要迭代;或者,向urlconf中添加一个条件,以便也获得特定的条目slug,从而只获得一个对象

category = Category.objects.filter(slug=cat_slug)#get the category requested
#now get all the entries which have that category
entries = News.objects.filter(categories__in=category)#because of the many2many use __in

评论后编辑

谢谢。但如果我们这样做,将生成错误:“Category”对象不可编辑。我的不好。使用筛选器而不是get。那么就不需要尝试了。queryset是可编辑的。不需要try/except错误,但是如果没有条目,您可能需要做一些事情来捕获。在我的多博客上,我只是不去管它,只显示请求的页面而不显示任何条目。使用过滤器是更简单的选项。