min_price_recordsとnext_min_price_recordsから最安値と次の安値を計算し、MergedPriceRecordモデルに保存
理解しました。上記の手順をモデルに格納するように変更しましょう。
まず、マージとグループ化を行う関数を定義します。次に、その関数を使って最安値と次の安値を計算し、それらの値をモデルに保存します。
以下に、それを行うためのコードを示します:
python
from itertools import chain
from value_search.models import MergedPriceRecord
def merge_and_save_price_records(min_price_records, next_min_price_records):
# min_price_recordsとnext_min_price_recordsを結合
merged_records = list(chain(min_price_records, next_min_price_records))
# original_product_codeでグループ化して最安値と次の安値を計算
merged_grouped_records = {}
for record in merged_records:
original_product_code = record['original_product_code']
if original_product_code not in merged_grouped_records:
merged_grouped_records[original_product_code] = {'min_price': None, 'next_min_price': None}
if 'min_price' in record:
merged_grouped_records[original_product_code]['min_price'] = record['min_price']
if 'next_min_price' in record:
merged_grouped_records[original_product_code]['next_min_price'] = record['next_min_price']
# 最安値と次の安値をモデルに保存
for original_product_code, prices in merged_grouped_records.items():
min_price = prices['min_price']
next_min_price = prices['next_min_price']
# MergedPriceRecordモデルのインスタンスを作成して保存
merged_price_record = MergedPriceRecord(
original_product_code=original_product_code,
min_price=min_price,
next_min_price=next_min_price
)
merged_price_record.save()
この関数を使って、min_price_recordsとnext_min_price_recordsから最安値と次の安値を計算し、MergedPriceRecordモデルに保存できます。このモデルは、original_product_code、min_price、next_min_priceの3つのフィールドを持ちます。必要に応じて、これらのフィールドを調整してください。

ディスカッション
コメント一覧
まだ、コメントがありません