質問編集履歴
1
ご指摘いただいた内容を追記し、目標の詳細を明記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,11 +4,25 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
+
目標:
|
8
|
+
|
7
|
-
|
9
|
+
売上データを表示するリストに売れた店名を表示させたい
|
8
10
|
|
9
11
|
|
10
12
|
|
13
|
+
現状:
|
14
|
+
|
15
|
+
リレーションで関連づけていないため、数字のコードの表記のみ
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
外部システムからAPIで売上データが飛んできます。
|
20
|
+
|
11
|
-
|
21
|
+
売上情報TransactionHeadとTransactionDetailの二つがあり、この二つはリレーションしていません。
|
22
|
+
|
23
|
+
この二つは、データの構造を変えずにデータベースへ保存しています。
|
24
|
+
|
25
|
+
保存した売上データをDjango内でリスト表示するために、下記のviewで一覧表示を出しています。
|
12
26
|
|
13
27
|
|
14
28
|
|
@@ -18,11 +32,13 @@
|
|
18
32
|
|
19
33
|
def get_context_data(self, **kwargs):
|
20
34
|
|
35
|
+
user_id = self.request.user.id
|
36
|
+
|
21
37
|
context = super(TransactionListView, self).get_context_data(**kwargs)
|
22
38
|
|
23
39
|
context["object_list"] = []
|
24
40
|
|
25
|
-
for detail in TransactionDetail.objects.filter(
|
41
|
+
for detail in TransactionDetail.objects.filter(user_id=user_id).order_by('-dateTime'):
|
26
42
|
|
27
43
|
head = TransactionHead.objects.filter(
|
28
44
|
|
@@ -50,4 +66,62 @@
|
|
50
66
|
|
51
67
|
|
52
68
|
|
69
|
+
TransactionHeadの中にstoreCodeという情報を持っていて4桁の数字が入っています。
|
70
|
+
|
71
|
+
storeというモデルがあり、id,store_code,store_nameのカラムを持っています。
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
```model
|
76
|
+
|
77
|
+
class TransactionHead(models.Model):
|
78
|
+
|
79
|
+
transactionHeadId = models.BigIntegerField(verbose_name="取引ID", null=True)
|
80
|
+
|
81
|
+
transactionDateTime = models.DateTimeField(verbose_name="取引日時", null=True)
|
82
|
+
|
83
|
+
subtotal = models.DecimalField(max_digits=9, decimal_places=0, verbose_name="小計", null=True)
|
84
|
+
|
85
|
+
total = models.DecimalField(max_digits=9, decimal_places=0, verbose_name="合計", null=True)
|
86
|
+
|
87
|
+
storeCode = models.CharField(max_length=20, verbose_name="店舗コード", null=True)
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
class TransactionDetail(models.Model):
|
92
|
+
|
93
|
+
transactionHeadId = models.BigIntegerField(verbose_name="取引ID", null=True)
|
94
|
+
|
95
|
+
productId = models.BigIntegerField(verbose_name="商品ID", null=True)
|
96
|
+
|
97
|
+
productCode = models.CharField(max_length=20, verbose_name="商品コード", null=True)
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
class Store(models.Model):
|
102
|
+
|
103
|
+
id = models.BigIntegerField(verbose_name="ID")
|
104
|
+
|
105
|
+
store_name = models.CharField(max_length=255, verbose_name="店名")
|
106
|
+
|
107
|
+
store_code = models.CharField(max_length=255, verbose_name="ストアコード", blank=True)
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
```
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
storeCodeに対応するstore_nameを紐ずけてテンプレートのリストに表示したいのですが、どの様に記述すれば解決出来るかお知恵をいただきたいです。
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
テンプレート上で{% for object in object_list %}の{{object.store_name}}で表示出来るのを目指しています。
|
120
|
+
|
121
|
+
(尚、運用は開始しておりデータがどんどん溜まってきます。よってリレーションで繋げられていません。)
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
53
127
|
何卒よろしくお願いします。
|