Ответ Django API на исключение данных из сериализатора - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть конечная точка API, которая возвращает такие данные:

{
    "customer_device_uuid": "a83e895d-d3b6-4816-b9f9-ee80feb22b36",
    "device_group": {
        "group_uuid": "ebd0990b-aeb5-46a4-9fad-82237a5a5118",
        "device_group_name": "Default",
        "color": "4286f4",
        "is_default": true
    },
    "status": [
        {
            "disk_space": 8,
            "battery_level": 8,
            "battery_health": "GOOD",
            "battery_cycles": 99
        }
    ]
}

Я хочу, чтобы ответ исключил status.Я пытался использовать write_only поля, предложенные в этом вопросе , но это не исключало status в ответе.

My serializers.py:

class DeviceStatusSerializer(serializers.ModelSerializer):
    class Meta:
        model = DeviceStatus
        fields = ('disk_space', 'battery_level', 'battery_health', 'battery_cycles')


class CheckinSerializer(serializers.ModelSerializer):
    device_group = DeviceGroupSerializer(many=False, read_only=True, source='group_uuid')
    status = DeviceStatusSerializer(source='customer_device', many=True, read_only=True)

    class Meta:
        model = CustomerDevice
        fields = ('customer_device_uuid', 'customer_uuid', 'device_id_android', 'device_group', 'status')
        extra_kwargs = {
            'customer_uuid': {'write_only': True},
            'device_id_android': {'write_only': True},
            'status': {'write_only': True}
        }

Как бы я исключил status из ответа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...