Skip to main content
 首页 » 编程设计

python之oscarcommerce目录导入

2025年05月04日15wayfarer

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

是否有任何模块/脚本可以将 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”。例如:“书籍>小说>惊悚片”

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 文件填充我的数据库。