1.加载商品数据
这里,我们得到一份json格式的文件。
1.1 查看json格式文件
这里使用jsonviewer在线视图查看器
1.2 读取json文件内容,保存字段到数据库
loaddate.py
#coding=utf-8
from goodsapp.models import *
from django.db.transaction import atomic #事务
@atomic
def test_model():
with open('utils/jiukuaijiu.json') as fr:
import json
datas = json.loads(fr.read())
#datas 数据格式 [{},{}....]
for data in datas:
cate = Category.objects.create(cname=data['category'])
_goods = data['goods']
for goods in _goods:
good = Goods.objects.create(gname=goods['goodsname'], gdesc=goods['goods_desc'],
price=goods['goods_price'], oldprice=goods['goods_oldprice'],
category=cate)
sizes = []
for _size in goods['sizes']:
if Size.objects.filter(sname=_size[0]).count() == 1:
size = Size.objects.get(sname=_size[0])
else:
size = Size.objects.create(sname=_size[0])
sizes.append(size)
colors = []
for _color in goods['colors']:
color = Color.objects.create(colorname=_color[0], colorurl=_color[1])
colors.append(color)
for _spec in goods['specs']:
try:
goodsdetails = GoodsDetailName.objects.get(gdname=_spec[0])
except GoodsDetailName.DoesNotExist:
goodsdetails = GoodsDetailName.objects.create(gdname=_spec[0])
for img in _spec[1]:
GoodsDetail.objects.create(goods=good,detailname=goodsdetails,gdurl=img)
for c in colors:
for s in sizes:
Inventory.objects.create(count=100,goods=good, color=c, size=s)
def deleteall():
Category.objects.filter().delete()
Color.objects.filter().delete()
Size.objects.filter().delete()
1.3 执行python文件
打开Django脚本控制台
python manage.py shell