回答編集履歴

3

ついき

2018/03/22 23:37

投稿

toritoritorina
toritoritorina

スコア972

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- **get**メソッドは全てのビューが持っており、一番初めに呼ばれるメソッドです。この中でget_context_dataやrender_to_responseメソッド等が呼ばれます。
13
+ **get**メソッドは全てのビューが持っており、一番初めに呼ばれるメソッドです(GETメソッドの場合に!)。この中でget_context_dataやrender_to_responseメソッド等が呼ばれます。
14
14
 
15
15
 
16
16
 

2

にほんご

2018/03/22 23:37

投稿

toritoritorina
toritoritorina

スコア972

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
 
17
- getメソッドを上書きすることは少なく、基本的にはget_queryset等のピンポイントな部分を上書きして挙動をカスタマイズするのが一般的です。
17
+ getメソッドを上書きすることは少なく、基本的にはget_queryset等のピンポイントな部分を上書きして挙動をカスタマイズするのが多いです。
18
18
 
19
19
  質問者さんのコードですと、おそらく比較のためにわざとTemplateViewを使っていると思われますが、その処理の場合はListViewを使ってget_querysetメソッドだけ上書きするのが一般的かと思います。
20
20
 

1

追記

2018/03/22 23:35

投稿

toritoritorina
toritoritorina

スコア972

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- **get_queryset**メソッドはListViewで使われますが、モデルインスタンスの一覧を返すメソッドです。例えばfilterメソッドで絞り込んだり、柔軟に一覧を取得したい場合はget_querysetメソッドを上書きしてそのように書きます。
5
+ **get_queryset**メソッドは主にListViewで使われますが、モデルインスタンスの一覧を返すメソッドです。例えばfilterメソッドで絞り込んだり、柔軟に一覧を取得したい場合はget_querysetメソッドを上書きしてそのように書きます。
6
6
 
7
7
 
8
8
 
@@ -16,4 +16,6 @@
16
16
 
17
17
  getメソッドを上書きすることは少なく、基本的にはget_queryset等のピンポイントな部分を上書きして挙動をカスタマイズするのが一般的です。
18
18
 
19
- 質問者さんのコードですと、おそらくわざとTemplateViewを使っていると思われますが、ListViewを使ってget_querysetメソッドだけ上書きするのが一般的かと思います。
19
+ 質問者さんのコードですと、おそらく比較のためにわざとTemplateViewを使っていると思われますが、その処理の場合はListViewを使ってget_querysetメソッドだけ上書きするのが一般的かと思います。
20
+
21
+ 元のコードだと、get_querysetメソッドがどこからも呼ばれない(TemplateViewでは呼ばれない)ので、キーワードによる絞り込みがされなくなりますね。