Пример #1
0
    def addgoods(self):
        for books_cate in book_data:
            category = GoodsCategory.objects.filter(pk=books_cate["category"])
            if category:
                for book in books_cate["books"]:
                    goods = Goods()
                    goods.category = category[0]
                    goods.name = book["name"]
                    goods.goods_sn = book["ISBN"]
                    goods.author = book["author"]
                    goods.click_num = goods.sold_num = goods.fav_num = 0
                    goods.goods_num = 200
                    goods.shop_price = book["shop_price"]
                    goods.market_price = goods.shop_price * 1.25
                    goods.bid = goods.shop_price * 0.8
                    goods.goods_brief = book["goods_brief"]
                    goods.goods_desc = book["goods_desc"]
                    goods.goods_front_image = book["images"][0]
                    goods.is_hot = goods.is_new = False
                    goods.save()

                    book_image_list = []
                    for book_image in book["images"]:
                        book_image_instance = GoodsImage()
                        book_image_instance.image = book_image
                        book_image_instance.goods = goods
                        book_image_list.append(book_image_instance)
                    GoodsImage.objects.bulk_create(book_image_list)
Пример #2
0
def import_goods_data():
    from goods.models import Goods, GoodsCategory, GoodsImage

    with open('data/product_data.json', 'r', encoding='utf8') as f:
        row_data = json.loads(f.read())

    for goods_detail in row_data:
        goods = Goods()
        goods.name = goods_detail["name"]
        goods.market_price = float(int(goods_detail["market_price"].replace("¥", "").replace("元", "")))
        goods.shop_price = float(int(goods_detail["sale_price"].replace("¥", "").replace("元", "")))
        goods.goods_brief = goods_detail["desc"] if goods_detail["desc"] is not None else ""
        goods.goods_desc = goods_detail["goods_desc"] if goods_detail["goods_desc"] is not None else ""
        goods.goods_front_image = goods_detail["images"][0] if goods_detail["images"] else ""

        category_name = goods_detail["categorys"][-1]
        category = GoodsCategory.objects.filter(name=category_name)
        if category:
            goods.category = category[0]
        goods.save()

        for goods_image in goods_detail["images"]:
            goods_image_instance = GoodsImage()
            goods_image_instance.image = goods_image
            goods_image_instance.goods = goods
            goods_image_instance.save()
    def import_product_data(self, datas):
        from goods.models import Goods
        from goods.models import GoodsCategory
        from goods.models import GoodsImage
        for data in datas:
            good = Goods()
            good.name = data['name']

            # 商品类别为外键
            # 通过名称筛选出类别再赋值
            category = data['categorys'][-1]
            good_category = GoodsCategory.objects.filter(name=category)
            if category:
                good.category = good_category[0]

            good.market_price = float(data['market_price'].replace('¥', '').replace('元', ''))
            good.shop_price = float(data['sale_price'].replace('¥', '').replace('元', ''))
            good.goods_brief = data['desc'] if data['desc'] is not None else ''
            good.goods_front_image = data['images'][0] if data['images'] is not None else ''
            good.goods_desc = data['goods_desc'] if data['goods_desc'] is not None else ''
            good.save()

            if data['images'] is not None:
                for image in data['images']:
                    good_image = GoodsImage()
                    good_image.goods = good
                    good_image.image = image
                    good_image.save()
Пример #4
0
def deal_product(data):
    for goods_detail in data:
        goods = Goods()
        goods.name = goods_detail["name"]
        goods.market_price = float(
            int(goods_detail["market_price"].replace("¥", "").replace("元",
                                                                      "")))
        goods.shop_price = float(
            int(goods_detail["sale_price"].replace("¥", "").replace("元", "")))
        goods.goods_brief = goods_detail["desc"] if goods_detail[
            "desc"] is not None else ""
        goods.goods_desc = goods_detail["goods_desc"] if goods_detail[
            "goods_desc"] is not None else ""
        goods.goods_front_image = goods_detail["images"][0] if goods_detail[
            "images"] else ""

        category_name = goods_detail["categorys"][-1]
        category = GoodsCategory.objects.filter(name=category_name)
        if category:
            goods.category = category[0]
        goods.save()

        for goods_image in goods_detail["images"]:
            goods_image_instance = GoodsImage()
            goods_image_instance.image = goods_image
            goods_image_instance.goods = goods
            goods_image_instance.save()
Пример #5
0
    def post(self, request):
        goodsTitle = request.POST.get("goodsTitle")
        price = request.POST.get("price")
        oprice = request.POST.get("oprice")
        category = int(request.POST.get("category"))
        address = request.POST.get("address")
        phone = request.POST.get("phone")
        description = request.POST.get("description")
        img1 = request.FILES.get("img1")
        img2 = request.FILES.get("img2")
        img3 = request.FILES.get("img3")
        img4 = request.FILES.get("img4")
        print category
        images = []
        for img in [img1, img2, img3, img4]:
            if img is not None:
                images.append(img)

        if goodsTitle and price and address and phone and description and len(
                images) > 0:
            goods = Goods.objects.create(user=request.user,
                                         goods_title=goodsTitle,
                                         price=price,
                                         oprice=oprice,
                                         address=address,
                                         phone=phone,
                                         description=description,
                                         add_time=datetime.now(),
                                         category=category)
            goods.save()
        else:
            return render(request, "pubsuccess.html", {
                "status": 0,
                "msg": "发布失败!请按要求填写完整基本信息"
            })

        for img in images:
            goodsImg = GoodsImage()
            goodsImg.goods = goods
            goodsImg.image = img
            goodsImg.add_time = datetime.now()
            goodsImg.save()

        return render(request, "pubsuccess.html", {
            "status": 1,
            "msg": "发布成功!"
        })
Пример #6
0
def import_goods(apps, schema_editor):
    from goods.models import Goods, GoodsCategory, GoodsImage

    for goods_detail in product_data.row_data:
        goods = Goods()
        goods.name = goods_detail['name']
        goods.market_price = float(goods_detail['market_price'].replace('¥', '').replace('元', ''))
        goods.shop_price = float(goods_detail['sale_price'].replace('¥', '').replace('元', ''))
        goods.goods_brief = goods_detail['desc'] if goods_detail['desc'] is not None else ''
        goods.goods_desc = goods_detail['goods_desc'] if goods_detail['goods_desc'] is not None else ''
        goods.goods_front_image = goods_detail['images'][0] if goods_detail['images'] else ''

        category_name = goods_detail['categorys'][-1]
        category = GoodsCategory.objects.filter(name=category_name)
        if category:
            goods.category = category[0]
        goods.save()

        for goods_image in goods_detail['images']:
            goods_image_instance = GoodsImage()
            goods_image_instance.image = goods_image
            goods_image_instance.goods = goods
            goods_image_instance.save()
Пример #7
0
for product in row_data:
    goods = Goods()
    goods.name = product.get('name')
    goods.market_price = float(
        int(product.get('market_price').replace("¥", "").replace("元", "")))
    goods.shop_price = float(
        int(product.get('sale_price').replace("¥", "").replace("元", "")))
    goods.goods_brief = product.get('desc') if product.get(
        'desc') is not None else ""
    goods.goods_desc = product.get('goods_desc') if product.get(
        'goods_desc') is not None else ""
    goods.goods_front_image = product.get('images')[0] if product.get(
        'images') else ""
    goodsImages = product.get('images')
    category_name = product.get('categorys')[-1]
    # objects.filter会获取一个集合
    category = GoodsCategory.objects.filter(name=category_name)
    if category:
        goods.category = category[0]
    print(goods)
    goods.save()

    print('-------images------')
    for imgUrl in product.get('images'):
        image = GoodsImage()
        image.goods = goods
        image.image = imgUrl
        print(image.image)
        image.save()
Пример #8
0
    #商户的描述对应goods_detail中的goods_desc内容,如果goods_detail中的goods_desc内容不为空,就设置为空串
    goods.goods_desc = goods_detail["goods_desc"] if goods_detail["goods_desc"] is not None else ""

    #商品的封面图等于goods_detail中images中的第一张图,如果没有这么多图片,则设置为空串
    goods.goods_front_image = goods_detail["images"][0] if goods_detail["images"] else ""

    #商品类别的名字等于goods_detail中categorys中的倒数第一个
    category_name = goods_detail['categorys'][-1]

    #有了商品的名字
    #此处用filter(),不用get(),是因为filter()获取不到数据的时候,返回的是一个空的数组,不会抛异常,
    #如果用get(),情况一:数据库里没有;情况二:数据库里查到两条;这两种情况下都是会抛异常的,
    #用get()的话,外面必须加一个try catch,用filter()就不用加try catch
    category = GoodsCategory.objects.filter(name=category_name)
    if category:   #如果查到
        goods.category = category[0]   #商品的类别选搜索到的category的第一个
    goods.save()   #保存

    #图片有轮播图,现在将图片保存起来
    for goods_image in goods_detail["images"]:
        goods_image_instance = GoodsImage()   #实例化
        goods_image_instance.image = goods_image   #实例化对象中的image字段(图片路径)等于goods_image
        goods_image_instance.goods = goods   #实例化对象中的goods字段等于上述的goods
        goods_image_instance.save()   #保存实例化对象






Пример #9
0
import django

pwd=os.path.dirname(os.path.realpath(__file__))
sys.path.append(pwd+"../")

#django初始化
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Shop.settings")
django.setup()

from goods.models import Goods,GoodsCategory,GoodsImage#必须在django初始化之后才能引入
from db_tools.data.product_data import row_data

for goods_detail in row_data:
    goods=Goods()
    goods.name=goods_detail["name"]
    goods.market_price=float(int(goods_detail["market_price"].replace("¥","").replace("元","")))
    goods.shop_price=float(int(goods_detail["sale_price"].replace("¥","").replace("元","")))
    goods.goods_brief=goods_detail['desc'] if goods_detail['desc'] is not None else ""
    goods.desc=goods_detail['goods_desc'] if goods_detail['goods_desc'] is not None else ""
    goods.goods_front_image=goods_detail['images'][0] if goods_detail['images'] else ""
    category_name=goods_detail['categorys'][-1]
    category=GoodsCategory.objects.filter(name=category_name)
    if category:
        goods.category=category[0]
    goods.save()

    for goods_image in goods_detail['images']:
        goods_image_obj=GoodsImage()
        goods_image_obj.goods=goods
        goods_image_obj.image=goods_image
        goods_image_obj.save()
Пример #10
0
sys.path.append(pwd+'../')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MxShop.settings")

import django
django.setup()

from goods.models import Goods, GoodsImage, GoodsCategory
from db_tools.data.product_data import row_data

for goods_detail in row_data:
    goods = Goods()

    category_name = goods_detail['categorys'][-1]
    category = GoodsCategory.objects.filter(name=category_name)
    if category:
        # goods.category = category 有两个queryset 报错。取【0】
        #ValueError: Cannot assign "<QuerySet [<GoodsCategory: 根茎类>, <GoodsCategory: 根茎类>]>": "Goods.category" must be a "GoodsCategory" instance.
        goods.category = category[0]
    goods.name = goods_detail["name"]
    goods.market_price = float(int(goods_detail["market_price"].replace("¥", "").replace("元", "")))
    goods.shop_price = float(int(goods_detail["sale_price"].replace("¥", "").replace("元", "")))
    goods.goods_brief = goods_detail["desc"] if goods_detail["desc"] is not None else ""
    goods.goods_desc = goods_detail["goods_desc"] if goods_detail["goods_desc"] is not None else ""
    goods.goods_front_image = goods_detail["images"][0] if goods_detail["images"] else ""
    goods.save()

    for good_image in goods_detail['images']:
        goodsimage_instance = GoodsImage()
        goodsimage_instance.goods = goods
        goodsimage_instance.image = good_image
        goodsimage_instance.save()
Пример #11
0
django.setup()

from db_tools.data.product_data import row_data
from goods.models import Goods, GoodsCategory, GoodsImage

for goods_detils in row_data:
    goods = Goods()
    goods.name = goods_detils['name']
    goods.goods_brief = goods_detils['desc'] if goods_detils[
        'desc'] is not None else ""
    goods.goods_desc = goods_detils['goods_desc'] if goods_detils[
        'goods_desc'] is not None else ""
    goods.market_price = float(
        int(goods_detils['market_price'].replace("¥", "").replace("元", "")))
    goods.shop_price = float(
        int(goods_detils["sale_price"].replace("¥", "").replace("元", "")))
    goods.goods_front_image = goods_detils['images'][0] if goods_detils[
        'images'] else ""

    category_name = goods_detils['categorys'][-1]
    category = GoodsCategory.objects.filter(name=category_name)
    if category:
        goods.category = category[0]
    goods.save()

    for image_detail in goods_detils['images']:
        image = GoodsImage()
        image.image = image_detail
        image.goods = goods
        image.save()
Пример #12
0
import re

for goods_detail in row_data:
    print('goods_detail', goods_detail['name'])
    goods = Goods()
    goods.name = goods_detail['name']
    goods.market_price = int(
        re.match(r".*?(\d+\.{0,}\d{0,}).*?",
                 goods_detail['market_price']).group(1))
    goods.sale_price = int(
        re.match(r".*?(\d+\.{0,}\d{0,}).*?",
                 goods_detail['sale_price']).group(1))
    goods.goods_brief = goods_detail['desc'] if goods_detail[
        'desc'] is not None else ''
    goods.goods_desc = goods_detail['goods_desc'] if goods_detail[
        'goods_desc'] is not None else ''
    goods.goods_front_images = goods_detail['images'][0] if goods_detail[
        'images'] else ''
    category_name = goods_detail['categorys'][-1]  # 最后一个最精确
    category = GoodsCategory.objects.filter(name=category_name)
    if category:
        goods.category = category[0]
    goods.save()
    # F:\test\MxShop\db_tools\import_category_data.py

    for goods_image in goods_detail['images']:
        goodsImage = GoodsImage()
        goodsImage.image = goods_image
        goodsImage.goods = goods
        goodsImage.save()
Пример #13
0
django.setup()

from goods.models import Goods, GoodsCategory, GoodsImage

from db_tools.data.product_data import row_data

for good in row_data:
    good_instance = Goods()
    good_instance.name = good['name']
    good_instance.goods_desc = good['goods_desc'] if good[
        'goods_desc'] is not None else ''
    good_instance.market_price = good['market_price'].replace('¥', '').replace(
        '元', '')
    good_instance.shop_price = good['sale_price'].replace('¥',
                                                          '').replace('元', '')
    good_instance.goods_brief = good['desc'] if good['desc'] is not None else ''
    good_instance.goods_front_image = good['images'][0] if good[
        'images'] else ''

    category_name = good['categorys'][-1]
    category = GoodsCategory.objects.filter(name=category_name)
    if category:
        good_instance.category = category[0]
    good_instance.save()

    for image in good['images']:
        good_image = GoodsImage()
        good_image.image = image
        good_image.goods = good_instance
        good_image.save()
Пример #14
0
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "daydayfresh.settings")

import django
django.setup()

from goods.models import Goods, GoodsCategory, GoodsImage

from db_tools.data.product_data import row_data

for goods_detail in row_data:
    goods = Goods()
    goods.name = goods_detail['name']
    goods.market_price = float(int(goods_detail['market_price'].replace('¥', '').replace('元', '')))
    goods.shop_price = float(int(goods_detail["sale_price"].replace("¥", "").replace("元", "")))
    goods.goods_brief = goods_detail["desc"] if goods_detail["desc"] is not None else ""
    goods.goods_desc = goods_detail["goods_desc"] if goods_detail["goods_desc"] is not None else ""
    goods.goods_front_image = goods_detail["images"][0] if goods_detail["images"] else ""

    category_name = goods_detail['categorys'][-1]
    category = GoodsCategory.objects.filter(name=category_name)
    if category:
        goods.category = category[0]
    goods.save()

    for goods_image in goods_detail['images']:
        goods_image_instance = GoodsImage()
        goods_image_instance.image = goods_image
        goods_image_instance.goods = goods
        goods_image_instance.save()

Пример #15
0
    #商品详细介绍
    instance.goods_desc = goods_detail["goods_desc"] if goods_detail[
        "goods_desc"] else ""

    #商品的封面
    instance.goods_front_image = goods_detail["images"][0] if goods_detail[
        "images"] else ""

    #设置商品属于哪个商品类别
    categorys_name = goods_detail["categorys"][-1]  #'根茎类',或者
    #查询数据库看看根茎类,是否存在
    categorys = GoodsCategory.objects.filter(name=categorys_name)  #返回的是列

    if categorys:
        #商品数据哪个类目
        instance.category = categorys[0]

    #保存商品数据
    instance.save()

    #保存商品轮播图
    for image in goods_detail["images"]:
        print(image)
        goods_image = GoodsImage()
        #商品--商品轮播图和商品建立关系
        goods_image.goods = instance
        #图片
        goods_image.image = image
        #保存商品轮播图
        goods_image.save()
Пример #16
0
django.setup()

from goods.models import Goods, GoodsCategory, GoodsImage

from db_tools.data.product_data import row_data

for goods_detail in row_data:
    goods = Goods()
    goods.name = goods_detail["name"]
    goods.market_price = float(
        int(goods_detail["market_price"].replace("¥", "").replace("元", "")))
    goods.shop_price = float(
        int(goods_detail["sale_price"].replace("¥", "").replace("元", "")))
    goods.goods_brief = goods_detail["desc"] if goods_detail[
        "desc"] is not None else ""
    goods.goods_desc = goods_detail["goods_desc"] if goods_detail[
        "goods_desc"] is not None else ""
    goods.goods_front_image = goods_detail["images"][0] if goods_detail[
        "images"] else ""

    category_name = goods_detail["categorys"][-1]
    category = GoodsCategory.objects.filter(name=category_name)
    if category:
        goods.category = category[0]
    goods.save()

    for goods_image in goods_detail["images"]:
        goods_image_instance = GoodsImage()
        goods_image_instance.image = goods_image
        goods_image_instance.goods = goods
        goods_image_instance.save()
Пример #17
0
'''

if __name__ == "__main__":
    from goods.models import Goods, GoodsCategory, GoodsImage
    from db_tools.data.product_data import row_data

    for g in row_data:
        g_instance = Goods()
        g_instance.name = g['name']
        g_instance.market_price = float(
            int(g["sale_price"].replace("¥", "").replace("元", "")))
        g_instance.shop_price = float(
            int(g["sale_price"].replace("¥", "").replace("元", "")))
        g_instance.goods_brief = g['desc'] if g['desc'] is not None else ''
        g_instance.goods_desc = g['goods_desc'] if g[
            'goods_desc'] is not None else ''
        g_instance.goods_front_image = g['images'][0] if g['images'] else ''

        # 类别
        category = GoodsCategory.objects.filter(name=g['categorys'][-1])
        if category:
            g_instance.category = category[0]
        g_instance.save()
        # goodsimage
        for img in g['images']:
            good_img_instane = GoodsImage()
            good_img_instane.goods = g_instance
            good_img_instane.image = img
            good_img_instane.save()