質問編集履歴
1
ご指摘いただいた内容を追記し、目標の詳細を明記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,16 +1,24 @@
|
|
1
1
|
POSと連携したシステムを独学で作っているのですが、うまく情報を引き出せずにいます。
|
2
2
|
システムは、python3.6 django2.1を使用しています。
|
3
3
|
|
4
|
+
目標:
|
4
|
-
|
5
|
+
売上データを表示するリストに売れた店名を表示させたい
|
5
6
|
|
7
|
+
現状:
|
6
|
-
|
8
|
+
リレーションで関連づけていないため、数字のコードの表記のみ
|
7
9
|
|
10
|
+
外部システムからAPIで売上データが飛んできます。
|
11
|
+
売上情報TransactionHeadとTransactionDetailの二つがあり、この二つはリレーションしていません。
|
12
|
+
この二つは、データの構造を変えずにデータベースへ保存しています。
|
13
|
+
保存した売上データをDjango内でリスト表示するために、下記のviewで一覧表示を出しています。
|
14
|
+
|
8
15
|
```django
|
9
16
|
class TransactionListView(ListView):
|
10
17
|
def get_context_data(self, **kwargs):
|
18
|
+
user_id = self.request.user.id
|
11
19
|
context = super(TransactionListView, self).get_context_data(**kwargs)
|
12
20
|
context["object_list"] = []
|
13
|
-
for detail in TransactionDetail.objects.filter(
|
21
|
+
for detail in TransactionDetail.objects.filter(user_id=user_id).order_by('-dateTime'):
|
14
22
|
head = TransactionHead.objects.filter(
|
15
23
|
transactionHeadId=detail.transactionHeadId).first()
|
16
24
|
|
@@ -24,4 +32,33 @@
|
|
24
32
|
return context
|
25
33
|
```
|
26
34
|
|
35
|
+
TransactionHeadの中にstoreCodeという情報を持っていて4桁の数字が入っています。
|
36
|
+
storeというモデルがあり、id,store_code,store_nameのカラムを持っています。
|
37
|
+
|
38
|
+
```model
|
39
|
+
class TransactionHead(models.Model):
|
40
|
+
transactionHeadId = models.BigIntegerField(verbose_name="取引ID", null=True)
|
41
|
+
transactionDateTime = models.DateTimeField(verbose_name="取引日時", null=True)
|
42
|
+
subtotal = models.DecimalField(max_digits=9, decimal_places=0, verbose_name="小計", null=True)
|
43
|
+
total = models.DecimalField(max_digits=9, decimal_places=0, verbose_name="合計", null=True)
|
44
|
+
storeCode = models.CharField(max_length=20, verbose_name="店舗コード", null=True)
|
45
|
+
|
46
|
+
class TransactionDetail(models.Model):
|
47
|
+
transactionHeadId = models.BigIntegerField(verbose_name="取引ID", null=True)
|
48
|
+
productId = models.BigIntegerField(verbose_name="商品ID", null=True)
|
49
|
+
productCode = models.CharField(max_length=20, verbose_name="商品コード", null=True)
|
50
|
+
|
51
|
+
class Store(models.Model):
|
52
|
+
id = models.BigIntegerField(verbose_name="ID")
|
53
|
+
store_name = models.CharField(max_length=255, verbose_name="店名")
|
54
|
+
store_code = models.CharField(max_length=255, verbose_name="ストアコード", blank=True)
|
55
|
+
|
56
|
+
```
|
57
|
+
|
58
|
+
storeCodeに対応するstore_nameを紐ずけてテンプレートのリストに表示したいのですが、どの様に記述すれば解決出来るかお知恵をいただきたいです。
|
59
|
+
|
60
|
+
テンプレート上で{% for object in object_list %}の{{object.store_name}}で表示出来るのを目指しています。
|
61
|
+
(尚、運用は開始しておりデータがどんどん溜まってきます。よってリレーションで繋げられていません。)
|
62
|
+
|
63
|
+
|
27
64
|
何卒よろしくお願いします。
|