【发布时间】:2019-11-05 05:18:19
【问题描述】:
在我的 Rest Framework 中创建新对象时遇到问题。
据我所知,当我试图覆盖项目的字段时,它可以包含我数据库中的所有项目。我想,这会起作用,它向我展示了工作页面,我可以选择一个项目。但是当我试图发布它来创建一个新对象时,它说“'Item'类型的对象不是JSON可序列化的”
我试图弄清楚如何将Item.objects.all() 转换为 JSON 数据。但没有任何帮助。我明白,这并不难做到,但我自己无法弄清楚。
所以我请求你的帮助,如何解决这个问题?
这是我的序列化程序
from rest_framework import serializers
from items.models import OrderItem, Item
class OrderItemSerializer(serializers.ModelSerializer):
item = serializers.ChoiceField(choices=Item.objects.all())
class Meta:
model = OrderItem
fields = ('item', 'size', 'quantity', 'id')
【问题讨论】:
-
这不是一个选择字段,而是一个关系。这里有几个选项:django-rest-framework.org/api-guide/relations
-
这个错误似乎你对视图做错了什么。请出示您的意见.py?
标签: json django serialization django-rest-framework django-queryset