美文网首页
2.Django根据已有数据,使用python脚本文件将数据导入

2.Django根据已有数据,使用python脚本文件将数据导入

作者: 何阿驼 | 来源:发表于2018-07-22 11:08 被阅读0次

Django导入初始数据

独立使用Django的Model模板

Django根据已有数据,使用python脚本文件将数据导入到数据库中

在与apps同级目录下面创建db_tools

1531720979317.png

其中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()

相关文章

网友评论

      本文标题:2.Django根据已有数据,使用python脚本文件将数据导入

      本文链接:https://www.haomeiwen.com/subject/jwjlmftx.html