【发布时间】:2021-02-12 04:40:39
【问题描述】:
我想发布请求 django rest 但是这个错误。我有两个序列化程序。我想发布一个不通过 id 的完整数据请求
Exception Value:
Field 'id' expected a number but got OrderedDict([('title', 'id:2 Смартфон Samsung Galaxy Note 20 Ultra 256GB Black'), ('price', 2019)]).
class ShopSerializer(serializers.ModelSerializer):
img1 = serializers.SerializerMethodField('get_image_url')
img2 = serializers.SerializerMethodField('get_image_url')
img3 = serializers.SerializerMethodField('get_image_url')
img4 = serializers.SerializerMethodField('get_image_url')
img5 = serializers.SerializerMethodField('get_image_url')
img6 = serializers.SerializerMethodField('get_image_url')
class Meta:
model = smartphone
fields = ("id", "img1", "img2", "img3", "img4", "img5", "img6","title","price","slug")
def get_image_url(self, obj):
return obj.image.url
class OrderCreateSerializer(serializers.ModelSerializer):
smartphone=ShopSerializer(many=True)
class Meta:
model = order
fields = '__all__'
def create(self, validated_data):
smartphone = validated_data.pop('smartphone')
question = order.objects.create(**validated_data)
question.smartphone.set(smartphone)
return question
怎么解决这个问题怎么解决这个问题怎么解决这个问题怎么解决这个问题
观看次数
class OrderCreateView(generics.CreateAPIView):
queryset = order.objects.all()
serializer_class = OrderCreateSerializer
【问题讨论】:
-
请添加您的views.py。你跑
python manage.py makemigrations和python manage.py migrate了吗? -
@MichaelH 添加了视图
-
观看次数看起来不错。您在 github 上是否有示例项目,或者您也可以提供模型文件吗?
-
@MichaelH github.com/mustavfaa/mdsho
标签: python django django-rest-framework