0

私のモデル:

話:

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, })

2つ以上のカテゴリのストーリーがあると何か問題があります。私を助けてください。どうもありがとう!

4

2 に答える 2

0

この状況で何をしたいですか?カテゴリ内のすべてのエントリのリストを表示しようとしていますか、それとも 1 つだけですか?

News.objects.get()常に単一のアイテムを取得するか、条件に一致するアイテムが複数ある場合は例外を発生させます。代わりに使用filter()して、テンプレートに QuerySet を渡す必要があるため、反復処理が必要になります。または、urlconf に基準を追加して、特定のエントリ スラッグも取得するようにして、オブジェクトを 1 つだけ取得します。

于 2009-10-22T09:25:15.997 に答える
0
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

コメント後に編集

于 2009-10-22T22:54:49.450 に答える