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

回答編集履歴

1

処理内容を編集

2018/12/27 01:39

投稿

alpaka
alpaka

スコア170

answer CHANGED
@@ -23,11 +23,10 @@
23
23
  register_time = models.DateTimeField(auto_now_add=True)
24
24
 
25
25
  def select_lowest_level(self):
26
- qs1 = Category.objects.values_list('id') #すべてのidを取得 <QuerySet [(3,), (1,), (2,), (8,), (9,), (7,)]>
26
+ qs1 = Category.objects.values_list('id') #すべてのidを取得 <QuerySet [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)]>
27
- qs2 = Category.objects.values_list('parent') #使われている親idを取得 <QuerySet [(None,), (3,), (3,), (7,), (None,), (9,), (7,)]>
27
+ qs2 = Category.objects.values_list('parent') #使われている親idを取得 <QuerySet [(None,), (1,), (2,), (2,), (4,), (3,),(None,), (7,), (8,)]>
28
- qs3 = qs1.difference(qs2) #EXCEPTで差分のみ取得 <QuerySet [(2,), (1,), (8,)]>
28
+ qs3 = qs1.difference(qs2) #EXCEPTで差分のみ取得 <QuerySet [(3,), (4,), (9,)]>
29
- id_list = [int(x[0]) for x in qs3] # idのリストに変換 [2, 1, 8]
29
+ id_list = [int(x[0]) for x in qs3] # idのリストに変換 [3, 4, 9]
30
30
  cat = Category.objects.filter(id__in=id_list) #リストのIDに一致するものをSELECT
31
- return cat
31
+ return cat # <QuerySet [<Category: ネコ科>, <Category: 犬科>, <Category: 地球>]>
32
-
33
32
  ```