質問

マイモデル:

ストーリー:

categories = models.ManyToManyField(Category)

カテゴリ:名前|ナメクジ

私のURL:

(r'^(?P<cat_slug>.*)/

そして views では、次を使用します:

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つ以上のカテゴリのストーリーがある場合、何か問題があります。私を助けてください。どうもありがとう!

, 'news.views.archive_category'),

そして views では、次を使用します:

<*>

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

役に立ちましたか?

解決

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

コメント後に編集

他のヒント

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top