teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

プロパティ名の修正

2018/07/22 06:56

投稿

kamome283
kamome283

スコア52

answer CHANGED
@@ -5,13 +5,13 @@
5
5
  def get_context_data(self, **kwargs):
6
6
  context = super().get_context_data(**kwargs)
7
7
  context['tag_list'] = Tag.objects.all()
8
- context['article_list'] = self.object.articles.all()
8
+ context['article_list'] = self.object.article_set.all()
9
9
  return context
10
10
  ```
11
11
  これでテンプレートから記事一覧を'article_list'で呼べるはずです。
12
12
 
13
13
  以下、3点アドバイスです。
14
14
  1. Detailビューで指定されたモデルオブジェクトを参照したい場合は、self.objectで参照できます。
15
- 2. 上を踏まえて、Article.objects.filter(id=self.object.id)のような形で記事一覧を取得することもできるかと思いますが、関係のあるモデルはself.object.articlesのように簡単にアクセスできます。
15
+ 2. 上を踏まえて、Article.objects.filter(id=self.object.id)のような形で記事一覧を取得することもできるかと思いますが、関係のあるモデルはself.object.article_setのように簡単にアクセスできます。
16
16
  詳しくは[こちら](https://docs.djangoproject.com/ja/2.0/topics/db/examples/)から。
17
17
  3. この問題には関係しませんが、filter()はたとえ結果が1件でもリストのような形で返します。1件だけ取得したい場合は、filter().first()のようにするといいです。

1

誤字の修正

2018/07/22 06:56

投稿

kamome283
kamome283

スコア52

answer CHANGED
@@ -12,6 +12,6 @@
12
12
 
13
13
  以下、3点アドバイスです。
14
14
  1. Detailビューで指定されたモデルオブジェクトを参照したい場合は、self.objectで参照できます。
15
- 2. 上を踏まえて、Article.objects.filter(id=self.object.id)のような形で記事一覧を取得することもできるかと思いますが、関係のあるモデルはself.object.rticlesのように簡単にアクセスできます。
15
+ 2. 上を踏まえて、Article.objects.filter(id=self.object.id)のような形で記事一覧を取得することもできるかと思いますが、関係のあるモデルはself.object.articlesのように簡単にアクセスできます。
16
16
  詳しくは[こちら](https://docs.djangoproject.com/ja/2.0/topics/db/examples/)から。
17
17
  3. この問題には関係しませんが、filter()はたとえ結果が1件でもリストのような形で返します。1件だけ取得したい場合は、filter().first()のようにするといいです。