Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 1
Регистрация: 04.09.2015
Сообщений: 141

FastAPI и сериалайзеры

20.11.2022, 18:17. Показов 870. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В моём проекте три таблицы. Нужно сформировать ответ который дергает инфу сразу из всех трёх таблиц.
Есть ли какое-то элегантное решение типа сериалайзеров из DRF или придётся ручками собирать словарь?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.11.2022, 18:17
Ответы с готовыми решениями:

FastAPI и pytest
Использовал инструкцию https://www.fastapitutorial.com/blog/unit-testing-in-fastapi/ но что-то не взлетело conftest.py: import...

FastAPI и matplotlib
Напишите API сервис используя фреймворк FastAPI Он должен уметь принимать данные (На ваше усмотрение) и в ответ выдавать...

Django vs. Flask vs. FastAPI
Какой фреймворк выбрать начинающему? Какой проще, какой сложнее? Для какого больше дополнительных пакетов на разные случаи жизни есть? У...

5
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
21.11.2022, 07:48
На мой взгляд у FastAPI достаточно внятная документация, стоит почитать ))

Для реализации вывода из БД, в совокупности с операциями CRUD в FastAPI используются классы на основе pydantic BaseModel c включенным orm_mode. Причем, они могут составляться как вам угодно.
Пример:

Python
1
2
3
4
5
6
class ServiceFeeAdapter(BaseModel):
    name: str
    fee_rate: Union[List[FeeSimpleRangeRate], List[FeePercentRangeRate], float]
 
    class Config:
        orm_mode = True
1
1 / 1 / 1
Регистрация: 04.09.2015
Сообщений: 141
21.11.2022, 12:48  [ТС]
а если допустим у меня в модели
key: str
value: str
а мне нужно вывести это в виде key: value - это возможно вывести? в DRF для этого используется метод to_representation. Есть аналог?
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
21.11.2022, 13:10
В документацию и код класса лень заглянуть?

Python
1
2
3
4
5
6
7
8
9
10
11
def dict(
        self,
        *,
        include: Union['AbstractSetIntStr', 'MappingIntStrAny'] = None,
        exclude: Union['AbstractSetIntStr', 'MappingIntStrAny'] = None,
        by_alias: bool = False,
        skip_defaults: bool = None,
        exclude_unset: bool = False,
        exclude_defaults: bool = False,
        exclude_none: bool = False,
    ) -> 'DictStrAny':
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def json(
        self,
        *,
        include: Union['AbstractSetIntStr', 'MappingIntStrAny'] = None,
        exclude: Union['AbstractSetIntStr', 'MappingIntStrAny'] = None,
        by_alias: bool = False,
        skip_defaults: bool = None,
        exclude_unset: bool = False,
        exclude_defaults: bool = False,
        exclude_none: bool = False,
        encoder: Optional[Callable[[Any], Any]] = None,
        models_as_dict: bool = True,
        **dumps_kwargs: Any,
    ) -> str:
Это если надо вывести модель соответствующим образом. Если же надо неким образом скомпоновать поля модели - ничто не мешает к классу написать свой метод.
0
1 / 1 / 1
Регистрация: 04.09.2015
Сообщений: 141
21.11.2022, 13:28  [ТС]
Если же надо неким образом скомпоновать поля модели - ничто не мешает к классу написать свой метод.
ну то есть собирать словарь руками? ок
0
243 / 178 / 73
Регистрация: 17.10.2018
Сообщений: 749
22.11.2022, 09:41
Цитата Сообщение от The_KKK Посмотреть сообщение
в DRF для этого используется метод to_representation.
Кстати метод to_representation используется для кастомизации вывода, а не является автоматическим конструктором. В любом случае ты в нем вручную собираешь - как именно ты хочешь отобразить вывод.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.11.2022, 09:41
Помогаю со студенческими работами здесь

Python FastAPI не отображается html страница
Добрый день! Подскажите, пожалуйста, почему у меня не отображается html файл, хотя всё работает без ошибок? задача заключается в том, чтобы...

JSON поле в peewee + pydantic (FastAPI)
Доброго времени. Проблема следующая. Есть приложение на FastAPI, в котором описаны модели таблиц БД на peewee. Одно поле требуется...

Ошибка NameError при применении FastAPI
Всем добрый день :) Подскажите, пожалуйста: есть функция, в которую передаю аргумент через консоль: >python Doc2.py...

Разработка на fastapi с jinja + uvicorn + starlette -- это какая архитектра?)
Добрый вечер, сразу прошу прощение за возможно глупый и банальный вопрос. Если я разрабатываю приложение на fastapi + jinja + uvicorn +...

Сколько оперативной памяти сервера нужно питону и среде для запуска fastapi?
Доброй ночи всем, кто с радостью набирает код на Питоне! Я пока не определился в пользу выбора этого языка, но начинаю присматриваться....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru