import requests as rq
import csv
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sirenorder.settings")
import django
django.setup()
from product.models import *
CSV_PATH = './product.csv'
with open(CSV_PATH, newline='') as csvfile:
spamreader = csv.DictReader(csvfile)
for row in spamreader:
print(row)
Product.objects.create(
name = row['name'],
english_name = row['en_name'],
img_url = row['img_url'],
only_ice = row['only_ice'],
short_price = row['Short'],
tall_price = row['Tall'],
grande_price = row['Grande'],
venti_price = row['Venti'],
description = row['description'],
condition = row['condition'],
oz_price = row['oz'],
price = row['price'],
option = row['warming'],
volume = row['volume'],
purpose = row['option'],
size = row['size'],
weight = row['weight'],
product_type_id = row['type'],
section_id = row['section_id'],
category_id = row['category_id']
)
# create database tesla character set utf8mb4 collate utf8mb4_general_ci;
import os
a = os.system('find . -path "*/migrations/*.py"')
print(a)
b = os.system('find . -path "*/migrations/*.py" -not -name "__init__.py" -delete')
print(b)
os.system('python manage.py makemigrations')
os.system('python manage.py migrate')
os.system('python initialize_total_database.py')
파일 실행전에
mysql 들어가서 create database tesla character set utf8mb4 collate utf8mb4_general_ci;
databases는 만들어놓고 실행해야해요 ㅎㅎ
python initialize_total_database.py
import first_input_car_models_1
import second_input_car_types_table_from_car_type_csv_2
import third_input_car_type_price_3
import fourth_input_car_colors_table_from_car_colors_csv_4
import fifth_input_car_color_price_from_current_tables_5
import sixth_input_car_wheels_6
import seventh_input_car_wheel_price_7
import eighth_input_car_interior_8
import nineth_input_car_interior_prices_9
first_input_car_models_1
import csv
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "welonmusk.settings")
import django
django.setup()
from price.models import *
CSV_PATH = './car_model.csv'
with open(CSV_PATH, newline='') as csvfile:
data_reader = csv.DictReader(csvfile)
for row in data_reader:
print(row)
CarModels.objects.create(
model_name = row['model_name']
)
마이그레이션 지우기
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
이걸로 마이그레이션 파일들 전부 지우고
makemigrations 하고
migrate 해도
실제 mysql에 테이블 반영안되는 케이스가 있더라구요..
DESC [table]로 봐도 똑같던데
안될때 그냥 싹다날리는 것이 속이 편하다고 합니다.
감사해요 상록님!!
출처는 위코드 5기 이상록님:-)