对产品 class 执行 CRUD 操作?

Perform CRUD operations on product class?

我是 Django-oscar 的新手,我正在尝试在 Product 上开发一个简单的 CRUD 操作。我分叉了目录应用程序并创建了一个 views.py 文件

我触发了查询 Product.objects.create(title='Hello'),但确实创建了一个产品,但出现以下错误:

AttributeError: 'NoneType' 对象没有属性 'attributes'

product_title = 'MyPhone'
upc=987654321
product_class = ProductClass.objects.get_or_create(name='Phone')
def createProduct(request):
        line1
    product.name = product_title
    product.product_class = product_class
    product.upc=upc
    product.save()

当我在第 1 行输入 product=Product() 时,出现以下错误:

无法分配“(, False)”:"Product.product_class" 必须是 "ProductClass" 实例。

当我输入 product = Product.objects.create(upc=upc) 时,出现以下错误:

NoneType'对象没有属性'attributes'

有人指导我如何编写简单的创建操作吗?

ProductClass, Product, Category, ProductCategory = get_classes(
    'catalogue.models', ('ProductClass', 'Product', 'Category',
                         'ProductCategory'))
create_from_breadcrumbs = get_class('catalogue.categories', 'create_from_breadcrumbs')


 def _create_item(product_class, category_str, upc, title,
                     description, stats):
        # Ignore any entries that are NULL
        if description == 'NULL':
            description = ''

        # Create item class and item
        product_class, __ = ProductClass.objects.get_or_create(name=product_class)
        try:
            item = Product.objects.get(upc=upc)
            stats['updated_items'] += 1
        except Product.DoesNotExist:
            item = Product()
            stats['new_items'] += 1
        item.upc = upc
        item.title = title
        item.description = description
        item.product_class = product_class
        item.save()

        # Category
        cat = create_from_breadcrumbs(category_str)
        ProductCategory.objects.update_or_create(product=item, category=cat)

        return item

这是使用为 django oscar 中的函数提供的信息来操作产品的实际方法。为了更好的设计决策,您需要遵循此约定。根据需要修改它。如果您需要更多帮助,请告诉我。谢谢。