Александр: я пару лет назад делал так: структура бд описана в отдельных таблицах базы данных: objects (собственно, таблицы) и properies (свойства, связанные с таблицей objects по полю object_id). Накалякал модуль на пттоне, который при вызове ModelGetter.get(object_name) собирал ОРМ-модель нв основе данных из этих таблиц. Питон смог :)
Можно было обойтись и без этих двух таблиц для метаданных и вытаскивать все, что нужно из ddl таблиц, но хранение метданных показалось практичнее, гибче и безопасней.
un1t: для чистой алхимии будет что-то типа такого:
.filter(
cast(myfield, JSONB).op('@>')('{"5" : [0, 11]}'),
func.to_tsvector('russian', name).op('@@')(func.to_tsquery('russian', 'куртка:*')
)
Не ручаюсь за работоспособность второго условия, но выглядеть должно примерно так. Любые функции БД, не реализованные самой алхимией, вызываются как метод объекта 'func', с передачей необходимых аргументов. Я-то думал надо что-то сложнее :)
un1t: django+sqlalchemy это либа aldjemy. Сам не юзал, но проект живой, а значит, скорее всего, вполне юзабельный. А уже с алхимией ты можешь построить запрос любой сложности. Процентов 98 всех фич постгреса раьотают из коробки, для остального, при достаточном навыке гугления, можно написать свои реализации функций, инструментарий для этого алхимия также предоставляет. Если с ORM не можешь требуемого реализовать (что вряд ли), вариант использовать core.
fogersp: пользую mysql/python от оракла, жаловаться до сих пор не приходилось. В SQLAlchemy и Django коннектор встал без проблем. Несмотря на то, что в интернетах масса нытья на тему невозможности/сложности использовать связку python3+mysql+sqlalchemy/django, у меня все работает абсолютно гладко и без напрягов.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.