Size: a a a

2020 August 07

DS

David Shiko in SPb Python
Yuliya Volkova
Тогда без ORM просто тяжко поддерживать, хотя тоже есть варианты - кто-то квери генерит сам чистые
Мой случай))
источник

MA

Maxim Afanasev in SPb Python
David Shiko
А зачем вообще нужен orm? Я использую pymysql библиотеку и все делаю через нее. Если бы я использовал что нибудь из nosql, я бы использовал другую библиотеку. Только и всего.
Желание писать запросы к БД в стиле python? ради 1 хотелки? так себе аргумент
ORM - это абстракция, которая не даст вашему проекту превратиться в тыкву через полгода активной разработки. Писать запросы руками можно и даже оправдано в ряде случаев, но требует высокой квалификации, тщательного код-ревью и времени.
источник

DS

David Shiko in SPb Python
Maxim Afanasev
ORM - это абстракция, которая не даст вашему проекту превратиться в тыкву через полгода активной разработки. Писать запросы руками можно и даже оправдано в ряде случаев, но требует высокой квалификации, тщательного код-ревью и времени.
Orm умеет объекты сохранять без явной сериализации? Вот этот момент мне реально боль доставил
источник

MA

Maxim Afanasev in SPb Python
David Shiko
Orm умеет объекты сохранять без явной сериализации? Вот этот момент мне реально боль доставил
Я не понял вопрос, поясни, пожалуйста.
источник

DS

David Shiko in SPb Python
Maxim Afanasev
Я не понял вопрос, поясни, пожалуйста.
Ну сохранить питоновский объект в БД без танцев с бубном.
Обычно там нужна сериализация объекта в бинарные данные и тогда уже MySQL может сохранить это (объект) как бинарные данные. Т.е. нужен pickle например.
источник

YV

Yuliya Volkova in SPb Python
Про джанго ответит Максим, я отвечу про алхимию и Gino)
источник

MA

Maxim Afanasev in SPb Python
David Shiko
Ну сохранить питоновский объект в БД без танцев с бубном.
Обычно там нужна сериализация объекта в бинарные данные и тогда уже MySQL может сохранить это (объект) как бинарные данные. Т.е. нужен pickle например.
В ORM любая запись в БД представлена питоновским объектом. Но не произвольным, а специальным - экземпляром модели. Поля могут быть любых типов, но модели описываются заранее. В Django и алхимии используются разные подходы, в Django ActiveRecord, т.е. модель - это специальный класс, унаследованный от Django модели. В алхимии ты можешь написать маппер, который будет превращать твой класс в запись в БД и обратно.
источник

YV

Yuliya Volkova in SPb Python
В них сериализация происходит в низкоуровневых api, либо в самой ORM, если для какой-то бд в низкоуровневом нет сериализация, например, Gino работает с asyncpg и там есть сериализации
источник

MA

Maxim Afanasev in SPb Python
Немного путано объяснил, извини, с телефона пишу )
источник

MA

Maxim Afanasev in SPb Python
Если в общем, то объявляешь класс для модели и ORM работает с ним. Это базовый принцип ORM - предоставить объектный интерфейс к БД.
источник

DS

David Shiko in SPb Python
Maxim Afanasev
Немного путано объяснил, извини, с телефона пишу )
Думаю, я понял
источник

DS

David Shiko in SPb Python
Напоминает pydantic
источник

MA

Maxim Afanasev in SPb Python
Посмотри туториал в документации к Django. Даже если не будешь использовать Django, будет полезно для понимания принципов. Дока к алхимии в разы сложнее воспринимается.
источник

DS

David Shiko in SPb Python
Кстати, имеет смысл использовать Django ninja (он был на конфе) если нет Легаси из Django?
источник

MA

Maxim Afanasev in SPb Python
Что это?
источник

MA

Maxim Afanasev in SPb Python
Аа.. Если ты про jinja, то нет, он тебе не нужен, это шаблонизатор.
источник

S

Stan in SPb Python
Maxim Afanasev
Что это?
источник

MA

Maxim Afanasev in SPb Python
Аа.. Не знаю, не сталкивался с этим.
источник

DS

David Shiko in SPb Python
Стоит ли почитать какую то REST литературу перед использованием fastapi или туториала достаточно?
источник

YV

Yuliya Volkova in SPb Python
David Shiko
Стоит ли почитать какую то REST литературу перед использованием fastapi или туториала достаточно?
доки fast api достаточно для начала, там очень много) потом если какие-то вопросы будут - можно что-то докинуть, но надо уже смотреть что именно
источник