문제

내 모델 :

이야기:

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에 기준을 추가하여 특정 항목 슬러그도 얻을 수 있으므로 하나의 객체 만 얻습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top