質問編集履歴

1

codeの追加(models.py)

2019/04/30 03:58

投稿

Sano
Sano

スコア19

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,68 @@
1
1
  ListViewを継承したClassViewのメソッドで受け取れる,kwargsの正体がはっきりわかりません。
2
+
3
+ ```python
4
+
5
+ # models.py
6
+
7
+ class Category(models.Model):
8
+
9
+ 10
10
+
11
+ 11 name=models.CharField(max_length=255)
12
+
13
+ 12
14
+
15
+ 13 def __str__(self):
16
+
17
+ 14 return self.name
18
+
19
+ 15
20
+
21
+ 16 def get_latest_post(self):
22
+
23
+ 17 queryset = Post.objects.filter(
24
+
25
+ 18 category=self)
26
+
27
+ 19 return _get_latest_post(queryset)
28
+
29
+ 20
30
+
31
+ 21 def get_or_create_curry_category():
32
+
33
+ 22 category_list=["プログラミング", "料理", "映画"]
34
+
35
+ 23 for i in category_list :
36
+
37
+ 24 category, _ = Category.objects.get_or_create(name=i )
38
+
39
+ 25 return category
40
+
41
+ 26
42
+
43
+ 27
44
+
45
+ 28 class Post(models.Model):
46
+
47
+ 29 author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
48
+
49
+ 44 category = models.CharField(choices=CATEGORY_CHOICES, max_length=10, default="プログラミング")
50
+
51
+ 47 category=models.ForeignKey(
52
+
53
+ 48 Category, verbose_name="カテゴリ", on_delete=models.CASCADE,
54
+
55
+ 49 default=get_or_create_curry_category,
56
+
57
+ 50 )
58
+
59
+ ```
2
60
 
3
61
 
4
62
 
5
63
  ```python
64
+
65
+ views.py
6
66
 
7
67
  class CategoryListView(ListView):
8
68
 
@@ -12,7 +72,7 @@
12
72
 
13
73
  52 template_name="blog/post_list.html"
14
74
 
15
- 53
75
+ 53
16
76
 
17
77
  54 def get_queryset(self):
18
78
 
@@ -33,6 +93,8 @@
33
93
  71 context["category_data"] = str(category.name)+str("カテゴリーの投稿は")+str(len(categories))+str("件あります")
34
94
 
35
95
  ```
96
+
97
+
36
98
 
37
99
 
38
100