Что означает «serializer.initial_data»? - PullRequest
0 голосов
/ 10 февраля 2020

Как я могу использовать 'serializer.initial_data' в Django Rest-API. В чем разница между использованием request.data и serializer.initial_data.

Ответы [ 2 ]

1 голос
/ 10 февраля 2020

Requests.data содержит данные, поступающие из внешнего интерфейса. Возможно, вам следует оставить requests.data в покое и использовать сериализатор для преобразования указанных данных в более сложные типы. Варианты использования для сериализаторов довольно широки, но наиболее распространенным является перевод данных в экземпляры модели базы данных.

1 голос
/ 10 февраля 2020

При передаче данных в экземпляр сериализатора, неизмененные данные будут доступны как .initial_data. Если аргумент ключевого слова data не передан, то атрибут .initial_data не будет существовать.

serializer = MyFooSerializer(<b>data={'foo':'bar'}</b>)
print(serializer<b>.initial_data</b>) <b># this will print {'foo':'bar'}</b>

request.data возвращает проанализированное содержимое тела запроса .

...