我用ProductSerializer()在OrderItemSerializer()中序列化了名为"product“的字段。
这就是我想要的。
class OrderItemSerializer(serializers.ModelSerializer):
product = ProductSerializer()
class Meta:
model = models.OrderItem
fields = ('id','order', 'product', 'quantity')输出为;

但是,当我尝试使用POST方法请求时,只提供id值是不够的。

如何通过只发送id值来发布?
我还没有写任何关于这次手术的文章。默认ModelViewSet
class OrderItemViewSet(ModelViewSet):
queryset = OrderItem.objects.all()
serializer_class = serializers.OrderItemSerializer
permission_classes = (IsOwnerOrNot, IsAuthenticated)
def get_queryset(self):
user = self.request.user
return self.filter_queryset(queryset=self.queryset.filter(order__user=self.request.user))发布于 2022-06-14 20:35:18
如果您支持可写嵌套表示,则需要编写处理保存多个对象的.create()或.update()方法。
class UserSerializer(serializers.ModelSerializer):
profile = ProfileSerializer()
class Meta:
model = User
fields = ['username', 'email', 'profile']
def create(self, validated_data):
profile_data = validated_data.pop('profile')
user = User.objects.create(**validated_data)
Profile.objects.create(user=user, **profile_data)
return userhttps://stackoverflow.com/questions/72622022
复制相似问题