/
Russid
/
python_advanced
Обзор
Документация
Войти
/
Russid
/
python_advanced
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
module_18_documentation/materials/rest_app_example/app/schemas.py
22 строки
676 B
Alexander Kharlamov
18 модуль
09 дек 2022, 22:03
09 дек 2022, 22:03
b67d87c
Код
Авторство
О чём код?
from flasgger import Schema, fields, ValidationError from marshmallow import validates, post_load from models import get_book_by_title, Book class BookSchema(Schema): id = fields.Int(dump_only=True) title = fields.Str(required=True) author = fields.Str(required=True) @validates('title') def validate_title(self, title: str) -> None: if get_book_by_title(title) is not None: raise ValidationError( 'Book with title "{title}" already exists, ' 'please use a different title.'.format(title=title) ) @post_load def create_book(self, data: dict) -> Book: return Book(**data)