【问题标题】:'NoneType' object has no attribute 'attributes' while creating a new catalogue product in django oscar在 django oscar 中创建新目录产品时,“NoneType”对象没有属性“attributes”
【发布时间】:2016-01-28 11:03:01
【问题描述】:

在视图中,我正在尝试基于基于 django oscar 产品模型的产品序列化程序创建新产品。我总是收到此错误“NoneType”对象没有属性“属性”。以下是我的代码

Views.py

​​>
    from serializers import CategorySerializer, ProductSerializer, ProductClassSerializer
    from oscar.apps.catalogue.models import Product, Category, ProductClass


class ProductViewSet(viewsets.ModelViewSet):
    """
    A viewset for viewing and editing product instances.
    """
    serializer_class = ProductSerializer
    queryset = Product.objects.all()

    # create a product
    def create(self, request, format=None):
        data = json.loads(request.body)
        serializer = ProductSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

序列化器.py

​​>
class ProductSerializer(serializers.ModelSerializer):


    class Meta:
        model = Product

【问题讨论】:

  • 请包括完整的堆栈跟踪...还有“OSCAR 是 AOL 专有的即时消息传递和存在信息协议。”请在添加标签之前检查标签的实际用途。
  • 我是说DJANGO OSCAR电子商务平台
  • 我遇到了同样的问题。因为我有一个自定义产品模型,所以我只是覆盖了它的保存方法......它试图保存 attrs。如果您确实想保存属性,您可能需要自己在 DRF 序列化程序中保存。

标签: django django-rest-framework django-oscar


【解决方案1】:

您可能在代码的其他地方尝试访问product.attributes,其中product 等于None

【讨论】:

    猜你喜欢
    • 2015-02-19
    • 1970-01-01
    • 2021-08-03
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    相关资源
    最近更新 更多