DjangoビューのURLの確認に関するいくつかの問題
-
05-07-2019 - |
質問
マイモデル:
ストーリー:
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つのオブジェクトのみを取得します。
所属していません StackOverflow