break_even_pointのデータベースのカラムに追加したい
break_even_pointをデータベースに追加するためには、以下の手順を踏む必要があります。
-
モデルの更新:
Rakuten_Import_dataモデルに新しいフィールドbreak_even_pointを追加します。
-
マイグレーションの作成と適用:
- Djangoのマイグレーションを作成し、適用します。
-
データの更新:
break_even_pointフィールドを計算し、データベースに保存します。
モデルの更新
まず、Rakuten_Import_dataモデルにbreak_even_pointフィールドを追加します。
python
# your_django_app/models.py
from django.db import models
class Rakuten_Import_data(models.Model):
original_product_code = models.CharField(max_length=255)
cost_price = models.FloatField()
yen_low_own_price = models.FloatField()
break_even_point = models.FloatField(null=True, blank=True) # 新しいフィールドを追加
def __str__(self):
return self.original_product_code
マイグレーションの作成と適用
次に、マイグレーションを作成し、適用します。
bash
# マイグレーションを作成
python manage.py makemigrations your_django_app
# マイグレーションを適用
python manage.py migrate your_django_app
データの更新
データを計算し、break_even_pointフィールドに保存します。管理コマンドなどでこれを実行できます。
python
import pandas as pd
from django.core.management.base import BaseCommand
from your_django_app.models import Rakuten_Import_data
class Command(BaseCommand):
help = 'Calculate and update break_even_point'
def handle(self, *args, **options):
# 各種費用を設定
shipping = 500 # 送料
sizai = 50 # 梱包資材
zinkenhi = 100 # 商品別人件費
mall_fee_rate = 0.09 # モール手数料率(9%)
# データを取得
import_data = Rakuten_Import_data.objects.all()
for data in import_data:
revenue = data.yen_low_own_price
cost = data.cost_price
mall_fee = revenue * mall_fee_rate
profit = revenue - cost - mall_fee - shipping - sizai - zinkenhi
data.break_even_point = profit
data.save()
self.stdout.write(self.style.SUCCESS('Successfully updated break_even_point'))
このスクリプトをmanagement/commands/update_break_even_point.pyとして保存し、以下のように実行します:
bash
python manage.py update_break_even_point
最後に
これで、break_even_pointがデータベースに保存され、計算された値がデータベースに反映されます。

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