Как удалить «МЕСТОПОЛОЖЕНИЕ» из параметров заголовка в DRF?

avatar
Manish Shah
9 августа 2021 в 04:52
107
1
2

У меня есть сериализатор, который содержит поле URL. По умолчанию, если есть поле с именем URL, значение этого поля добавляется в параметр HEADER как МЕСТО, я не хочу делать this и хотел бы удалить параметр LOCATION из заголовка.

Это мой сериализатор:-

class DemoSerializer(serializers.ModelSerializer):
    class Meta:
        model = Demo
        fields = ('type', 'protocol', ---- 'url', 'somefield')

Теперь, когда указанный выше сериализатор используется с запросом POST/PUT/PATCH для отправки данных, я получаю это в качестве ответа: - enter image description here

Есть ли какой-либо метод или способ удалить параметр LOCATION из заголовка, не затрагивая другие мои сериализаторы и представление в проекте??

Источник
Code-Apprentice
9 августа 2021 в 04:56
0

Чтобы уточнить, это ответ на скриншоте, а не запрос, верно? Кроме того, вы опубликуете это в виде текста, а не скриншота?

Manish Shah
9 августа 2021 в 05:08
0

Да, вы правы @Code-Apprentice, скриншот ответа с параметрами заголовка, но, если я отправляю текст, когда я делаю curl/http, в ответ возвращаются только данные, поэтому для простоты я разместил скриншот .

Code-Apprentice
9 августа 2021 в 05:13
1

Я не понимаю, какое отношение редактирование вашего вопроса здесь с текстом имеет к curl.

Ответы (1)

avatar
Utkucan Bıyıklı
9 августа 2021 в 06:08
1

В представлении, в котором вы хотите удалить заголовок Location, вы должны переопределить функцию get_success_headers.

По умолчанию

    def get_success_headers(self, data):
        try:
            return {'Location': str(data[api_settings.URL_FIELD_NAME])}
        except (TypeError, KeyError):
            return {}

Переопределить

    def get_success_headers(self, data):
        return {}