oscarcommerce目录导入

oscarcommerce catalogue import

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

有没有module/scripts将magento2中的数据转换成oscar commerce的? 我检查了 This thread,但对此一无所知。

如果您查看 django-oscar 导入器的源代码,编写自定义导入器代码并不难。我自己做过,这里是最重要的步骤:

1/ 获取或创建 ProductClass 实例

product_class = ProductClass.objects.get_or_create(name='<some_name>')

2/ 为您的下一个产品创建类别字符串。此字符串的格式为 'main_category>sub_category>even_deeper_category'。例如:'Books>Fiction>Thriller'

category_string = create_from_breadcrumbs('some>string>here')

3/ 创建您的产品

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

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

product.save()

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

ProductCategory.objects.update_or_create(product=product, category=category_string)

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
        )

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