Django导入初始数据
独立使用Django的Model模板
Django根据已有数据,使用python脚本文件将数据导入到数据库中
在与apps同级目录下面创建db_tools
其中data文件用来存放json格式的文件
写脚本导入数据
# -*- coding:utf-8 -*-
__author__ = 'hzj'
#独立使用django的model
import sys
import os
#获取当前文件的路径
#os.path.realpath(__file__) 获取当前执行脚本的绝对路径。
#os.path.dirname() 获取当前脚本所在的文件夹名称
pwd = os.path.dirname(os.path.realpath(__file__))
#找到项目文件
sys.path.append(pwd+"../")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hzj_rest_test.settings")
import django
django.setup()
from goods.models import GoodsCategory
#添加数据开始
from db_tools.data.category_data import row_data
for lev1_cat in row_data:
lev1_instance = GoodsCategory()
lev1_instance.code = lev1_cat['code']
lev1_instance.name = lev1_cat['name']
lev1_instance.category_type = 1
lev1_instance.save()
for lev2_cat in lev1_cat['sub_categorys']:
lev2_instance = GoodsCategory()
lev2_instance.code = lev2_cat['code']
lev2_instance.name = lev2_cat['name']
lev2_instance.category_type = 2
lev2_instance.parent_category = lev1_instance
lev2_instance.save()
for lev3_cat in lev2_cat['sub_categorys']:
lev3_instance = GoodsCategory()
lev3_instance.code = lev3_cat['code']
lev3_instance.name = lev3_cat['name']
lev3_instance.category_type = 3
lev3_instance.parent_category = lev2_instance
lev3_instance.save()