Мы в Antida software создаем программное обеспечение на заказ, а также оказываем услуги по предоставлению выделенных команд разработчиков. Мы развиваем сообщество Python разработчиков Челябинска, проводим конференции и делимся опытом. На этом канале мы будем публиковать видео-записи докладов с наших конференций и другие интересные материалы.
Решение: все функции пишутся отдельно. В каждую функцию можно передать некий Callable с возвращаемым типом данных (например интерфейс/абстрактное придставление), во время тестов вызывать функцию с аргументом который возвращает конкретный объект и работаете с ним. Код всё же должен быть выразительным. Непонятно какую проблему решаете в итоге - код выглядит крайне недружелюбно. Не путайте DI в FastAPI - там другая история.
если у вас бесплатная версия pycharm, то pycharm не поймет расширения sqlite3 (так как плагин на постгрес доступен только для платной версии), поэтому придется качать postgresql вместе с pgadmin и уже через него бд создавать
Что-то не могу получить данные из базы. Выбивает ошибку sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: operations [SQL: SELECT operations.id AS operations_id, operations.date AS operations_date, operations.kind AS operations_kind, operations.amount AS operations_amount, operations.description AS operations_description FROM operations] Хотя я в ___tablename__ указал имя operations
Огромное спасибо за данный материал! Требовалось быстро посмотреть базу по FastAPI и воркшоп справился на ура) пс: жаль что нет видео по патернам тестирования в данном фреймворке
Буду благодарен за ответ. При обращении напрямую к объекту settings получаю ошибку pydantic wrapper error (не видит .env и не может валидировать поле jwt-password). Но при запуске uvicorna все работает. Почему так?
Блестяще сделано. Для закрепления туториала на официальном сайте идеально. И еще несколько полезных деталей, которых там не было. Огромное спасибо. И вопрос - можно ли было в dependencies поместить 4 раза повторяющееся в операциях получение экземпляра service. Если да, то как правильно это написать?
Спасибо большое за видео! У меня есть один вопрос: зачем класс OperationKind наследуется сначала от строки, а потом от Enum? Почему недостаточно наследоваться только от Enum?
@@Fartek2 ну вот не видно явно этих преимуществ: скорость написания кода на DRF гораздо выше, orm хоть и не супер, но базовые вещи делает нормально, асинхронные запросы к БД давно завезли. Нормально спроектированый Джанго держит легко тысячи запросов. А fastapi? Вот это было бы круто изложить. Супер круто было бы с тестами. Именно сравнение, а не просто сферический конь в вакууме.
@@ilyachudakov7944 ну насчет написания кода - согласен, постоянное описание стандартных CRUD операция надоедает, асинхронку в дрф не пробовал - не могу сказать. А тесты если искать, то наверное на зарубежном ютубе, у нас такого не видел.
@@Fartek2 да их нигде толковых нету кроме голословных заявлений, что фантазии круче и могучее. Сложного-то вроде и нет ничего: сделать более менее рабочий проект и заспамить его запросами в разных режимах. А никто и не сделал.
Please how i make this def getCuentasParametros(self) -> PLANDECUENTAS: planCuentasParametros = self.session.query(PLANDECUENTAS, PARAMETROS.codigo3).join(PARAMETROS).filter(PLANDECUENTAS.id ==PARAMETROS.plandecuentaid).all() salida = list(planCuentasParametros) return salida I have an extra column with my join option please please how i make to send this extra "codigo3" to my end point please please your help