Django보기에서 URL 확인과 관련된 일부 문제
-
05-07-2019 - |
문제
내 모델 :
이야기:
categories = models.ManyToManyField(Category)
카테고리 : 이름 | 강타
내 URL :
(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, })
두 개 이상의 카테고리에 대한 이야기가 있으면 문제가 있습니다. 도와주세요. 많은 감사합니다!
해결책
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
댓글 후 편집
다른 팁
이 상황에서 무슨 일이 일어나고 싶습니까? 카테고리의 모든 항목 목록을 표시하려고합니까?
News.objects.get()
~ 할 것이다 언제나 단일 항목을 받거나 기준과 일치하는 두 개 이상의 경우 예외를 제기하십시오. 사용해야합니다 filter()
대신 쿼리 세트를 템플릿에 전달하므로 반복해야합니다. 또는 URLConf에 기준을 추가하여 특정 항목 슬러그도 얻을 수 있으므로 하나의 객체 만 얻습니다.
제휴하지 않습니다 StackOverflow