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

質問編集履歴

2

更新2

2021/08/10 13:46

投稿

ROCKKBOY
ROCKKBOY

スコア7

title CHANGED
File without changes
body CHANGED
@@ -128,4 +128,19 @@
128
128
  {% endfor %}
129
129
 
130
130
  </table>
131
- ```
131
+ ```
132
+ 結果
133
+ |クラス|担任|出席番号|性別|名前|点数|
134
+ |:---:|:---:|:---:|:---:|:---:|:---:|
135
+ |1|I先生|1|男|Aくん|60|
136
+ |1|I先生|2|男|Bくん|45|
137
+ |1|I先生|3|男|Cくん|100|
138
+ |1|I先生|4|女|Dさん|60|
139
+ |1|I先生|5|女|Eさん|60|
140
+ |1|I先生|6|女|Fさん|90|
141
+ |2|J先生|1|男|イくん|55|
142
+ |2|J先生|2|男|ロくん|80|
143
+ |2|J先生|3|男|ハくん|60|
144
+ |2|J先生|4|女|二さん|40|
145
+ |2|J先生|5|女|ホさん|60|
146
+ |2|J先生|6|女|へさん|70|

1

誤って書きかけを投稿してしまったので更新

2021/08/10 13:46

投稿

ROCKKBOY
ROCKKBOY

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,10 +1,37 @@
1
+ #困っているところ
2
+ Djangoを使ったアプリ開発に挑戦しているのですが、テーブルの並び替えと分割の仕方がわからず思うようにできません。ひとまず、簡単な例に置き換えて挑戦しています。以下の問題でわかる方がいらっしゃればご教授いただければ幸いです。
3
+
4
+
1
5
  #環境
2
6
  python 3.9.5
3
7
  Django 3.2.4
8
+
4
- #やりたいこと
9
+ #モデル
5
10
  アプリが以下の二つのテーブルを有するとします。
6
11
 
12
+ ```django
13
+ #===================================================================
14
+ #models.py
15
+ #===================================================================
16
+ from django.db import models
7
17
 
18
+ # Create your models here.
19
+
20
+ List = (('Male','男'),('Female','女'))
21
+
22
+ class ClassModel (models.Model):
23
+ ClassNumber = models.IntegerField()
24
+ HomeroomTeacher = models.CharField(max_length=20)
25
+
26
+ class MenberModel (models.Model):
27
+ BelongClass = models.ForeignKey(ClassModel,on_delete=models.CASCADE)
28
+ ForM = models.CharField(choices=List,max_length= 6,default='Male')
29
+ Number = models.IntegerField()
30
+ Name = models.CharField(max_length=20)
31
+ Point = models.IntegerField()
32
+ ```
33
+
34
+
8
35
  ・クラステーブル
9
36
  | クラス | 担任 |
10
37
  |:---:|:---:|
@@ -59,32 +86,11 @@
59
86
  |2|J先生|6|女|へさん|70|
60
87
  |||||平均|56.6667|
61
88
 
89
+ #試したこと
90
+ 以下のように、#1の個所で、「order_by」を使って並び替えをしてみました。うまくいっているように見えたのですがこれでは、「ClassModel」のidで並び替えられただけで、ClassModelのClassNumberでは並び変わりませんでした。
62
91
 
63
- #ソースコード1 (models.py)
64
- ```django
65
- #===================================================================
66
- #models.py
67
- #===================================================================
68
- from django.db import models
69
92
 
70
- # Create your models here.
71
-
72
- List = (('Male','男'),('Female','女'))
73
-
74
- class ClassModel (models.Model):
75
- ClassNumber = models.IntegerField()
76
- HomeroomTeacher = models.CharField(max_length=20)
77
-
78
- class MenberModel (models.Model):
79
- BelongClass = models.ForeignKey(ClassModel,on_delete=models.CASCADE)
80
- ForM = models.CharField(choices=List,max_length= 6,default='Male')
81
- Number = models.IntegerField()
82
- Name = models.CharField(max_length=20)
83
- Point = models.IntegerField()
84
- ```
93
+ ``` django
85
-
86
-
87
- ```
88
94
  #===================================================================
89
95
  #views.py
90
96
  #===================================================================
@@ -92,7 +98,7 @@
92
98
  from .models import ClassModel,MenberModel
93
99
 
94
100
  def tabletest(request):
95
- object_list = MenberModel.objects.order_by('BelongClass','Number')
101
+ object_list = MenberModel.objects.order_by('BelongClass','Number') #1
96
102
  object_list2 = ClassModel.objects.all
97
103
  return render(request, 'testapp2.html',{'object_list':object_list})
98
104