【发布时间】:2021-01-12 22:46:25
【问题描述】:
我无法将答案 here 或 here 用于我自己的问题。我尝试自定义DRF tutorial part 3:
models.py:
class ProductData(models.Model):
product_id = models.CharField('device_id', max_length = 20)
price = models.DecimalField('price')
product = models.ForeignKey(Product, on_delete = models.CASCADE)
views.py:
class ProductViewSet(viewsets.ViewSet):
def list(self, request):
data = [{"products": Product.objects.all(),}]
results = ProductSerializer(data = data, many = True)
if results.is_valid():
return Response(results)
serializers.py:
class ProductSerializer(serializers.ModelSerializer):
product_id = serializers.CharField(max_length = 20)
price = serializers.DecimalField(max_digits = 10)
product = serializers.RelatedField(many=True)
class Meta:
model = ProductData
fields = ["product_id", "price", "product",]
我希望得到类似 JSON 的响应:
{ "product_id": "213123", "price": 2.99, "product": "bacon" }
但我得到了错误:
Exception Type: TypeError
Exception Value: Object of type ListSerializer is not JSON serializable
【问题讨论】:
标签: django django-rest-framework