質問編集履歴
2
更新2
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
誤って書きかけを投稿してしまったので更新
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
|
|