REST API (Python): Marshmallow. Сериализация и десериализация данных

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

Вы красиво пишите и хорошо объясняете. Спасибо большое за видео, было полезно и приятно смотреть!

wttbttm
Автор

Cпасибо Вам за работу. Я на Ваших уроках понял очень много нюансов, которые раньше от меня ускользали. Продолжайте втом же духе. Я думаю многие вам скажут спасибо.

zerodrinkcool
Автор

Подскажите, пожалуйста, как в sqlalchemy вытащить одним sql запросом все столбцы таблицы и вместо id связанной таблицы другой столбец ?
И как потом это сериализовать

koshakpoc
Автор

Вопрос
Если у меня в одной функции рута прописаны через IF...ELSE ветвление в зависимости от метода. Это аписпек отображает. НО! т.к. @marshal_with задан один общий на весь рут, то description в нём идёт на оба метода.
Как прописать описание для каждого метода отдельно?

П.С. Наверное не очень понятно выразился.
Надо в свагере своё описание к каждому методу.

AlexandrSpirit
Автор

Подскажите пожалуйста, почему когда я регистрирую документацию путем docs.register, то все методы GET регистрируются нормально, а при регистрации POST и PUT, программа вылетает с ошибкой:
TypeError: schema2parameters() got an unexpected keyword argument 'default_in'.
Весь код такой как у вас проверил каждую строчку, пытаюсь разобраться ничего не получается. Очень нужна помощь

zerodrinkcool
Автор

У меня в БД есть поля с числами до 4 после запятой (999.9999). Тип полей Decimal. Использую flask-marshmallow. Оказалось, он не может их переварить. Ошибка типа "Object of type Decimal is not JSON serializable"
Подскажите, если использовать marshmallow, как он работает с типом Decimal?

AlexandrSpirit
Автор

Так и не понял, зачем использовался apispec
Но главный вопрос, почему не использовать SQLAlchemyAutoSchema, который автоматом формирует схему? В доках к flask-marshmallow это описано.
Ведь так получится меньше кода

AlexandrSpirit
Автор

Удалось всё настроить в своём проекте. Из-за блюпринтов и несколько другой схемы проекта, не получалось запустить.
У кого не выходит.
В файле blueprint.py


app.register_blueprint(api)

docs.register(get_diecuts_list, blueprint=api.name)

AlexandrSpirit
Автор

очень советую вам удалить ваш тетрис(это редактор, в котором вы пишите), и установить vscode. для него есть много плагинов, которые упрощают работу с кодом(хоть в принципе и из коробки он отлично работает).
будете меньше ошибок при написании кода допускать.
а за маршмеллоу спасибо. узнал что-то новое для себя. удачи!

delay_gryaz_chisto
join shbcf.ru