Вложенный ModelSerializer внутри Serializer: Ожидается словарь, но получен int

Получаем "Неверные данные. Ожидался словарь, но получен int." на сериализаторе модели. Как сериализовать модель внутри пользовательского serializers.Serializer

class UserAddressSerializer(serializers.ModelSerializer):
    class Meta:
        fields = "__all__"
        model = UserAddress

class OrderDetailSerializer(serializers.Serializer):
    address_id = UserAddressSerializer()
    total_cost = serializers.FloatField()
    ...


class ServiceOrderDetailSerializer(serializers.Serializer):
    service_name = serializers.CharField(max_length=100)
    ...


class PlaceOrderSerializer(serializers.Serializer):
    order_detail = OrderDetailSerializer()
    service_order = ServiceOrderDetailSerializer(many=True)

view.py:

serializer = PlaceOrderSerializer(data=request.data)

Request:

{
    "order_detail": {
        "address_id": 5,
        "total_cost": 432,
        "user_id": 2
    },
    "service_order": [
        {
            "service_name": "1212ser345",
            ...
    ...

Вышеприведенный код выдает Bad Request:

{
    "data": {
        "order_detail": {
            "address_id": {
                "non_field_errors": [
                    "Invalid data. Expected a dictionary, but got int."
                ]
            }
        }
    }
}
Вернуться на верх