Форум сайта python.su
Давно пишут на этом замечательном ORM. Но чем дольше пишу и чем сложнее проект, тем чаще меня берут сомнения в его необходимости, потому что запросы на нем строить получается сложнее чем писать их на SQL. Наверное там есть куча возможностей, которые я не использую. А как вам помогает этот ORM ?
Офлайн
Я ORM мало использую, зато SA-expression-language много. Конструирование запросов “по частям”, добавление условий, поддержка схемы.
Офлайн
Ну да, ORM в таком виде где описываются зависимости в модели я то же не использую. Expression-language конечно чуток укорачивает запросы и позволяет их составлять удобно по условиям, но сложные запросы составлять не очень прикольно в нем.
Офлайн
К примеру вот такой запрос:
SELECT items.id,
group_concat(stones.name separator ', '),
(SELECT SUM(payments.count) FROM payments WHERE payments.item_statement_id = items_statements.id)
FROM items
INNER JOIN items_statements ON items.id = items_statements.item_id
LEFT OUTER JOIN stones_items ON items.id = stones_items.item_id
LEFT OUTER JOIN stones ON stones.id = stones_items.stone_id
WHERE items_statements.statement_id = %s
GROUP BY items.id
Офлайн
Есть у меня такое наблюдение:
- если пишем stateless Web server - нужны простые запросы. Во многих случаях лучше нереляционка вообще, но это уже выходит за обсуждаемые рамки
- зато если толстый клиент - очень часто нужны именно объекты с довольно долгим временем жизни. И ORM оказывается очень в тему. Статистические репорты все еще часто лучше делать простыми запросами
Офлайн
NaotaЕще адын :). Есть в делфи такой компонент TTable. Считай, что твой ОРМ. По крайней мере в ту сторону. Так вот - в основном все начинают с него, а заканчивают запросами.
Но чем дольше пишу и чем сложнее проект, тем чаще меня берут сомнения в его необходимости, потому что запросы на нем строить получается сложнее чем писать их на SQL.
Офлайн