oscarcommerce目录导入

Aru*_* SS 1 python django django-import-export django-oscar

我有一个magento2项目。我想将magento 2中的产品目录导入django oscarcommerce。官方文档解释了进口商(http://django-oscar.readthedocs.io/en/releases-1.1/howto/importing_a_catalogue.html)。但是他们不支持,因为它有故障。我试图弄清楚它是如何工作的。但是我找不到要测试的源csv文件。

是否有将magento2中的数据转换为奥斯卡商业的模块/脚本?我检查了此线程,但对此一无所知。

den*_*emm 6

如果您检查django-oscar导入程序的源代码,编写自定义导入程序代码并不难。我自己完成了此操作,这是最重要的步骤:

1 /获取或创建一个ProductClass实例

product_class = ProductClass.objects.get_or_create(name='<some_name>')
Run Code Online (Sandbox Code Playgroud)

2 /为您的下一个产品创建一个类别字符串。此字符串的格式为“ main_category> sub_category> even_deeper_category”。例如:“书籍>小说>惊悚片”

category_string = create_from_breadcrumbs('some>string>here')
Run Code Online (Sandbox Code Playgroud)

3 /创建您的产品

product = Product.objects.get_or_create(upc=upc)

product.product_class = product_class
product.title = ...
...

product.save()
Run Code Online (Sandbox Code Playgroud)

4 /更新此新产品的ProductCategory(由类别字符串和产品组成)

ProductCategory.objects.update_or_create(product=product, category=category_string)
Run Code Online (Sandbox Code Playgroud)

5 /接下来,您需要更新合作伙伴信息(每个产品都需要一个合作伙伴记录,这是存储价格信息的位置)。如果您自己创建产品并且不使用合作伙伴,则只需随机命名即可。

partner = Partner.objects.get_or_create(name='Partner_Name')

importer = CatalogueImporter(logger=None)

importer._create_stockrecord(
        item=product,
        partner_name=partner.name,
        partner_sku='ProductReferenceFromPartner'>,
        price_excl_tax=<SELLING_PRICE>,
        num_in_stock=<STOCK_COUNT>,
        stats=None
        )
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看我的源代码,但是其中一些是荷兰语的。如果您有任何疑问,可以随时问我。我还通过自定义Django管理命令使用csv文件填充数据库。