Форум сайта python.su
доброго времени суток!
подскажите пожалуйста как в sqlobject выполнить запрос?
>>> import model >>> c1 = model.sqlobject.sqlhub.processConnection.getConnection().cursor() >>> c1.execute("select * from table_name limit 20 offset 10010")
Отредактировано (Март 17, 2007 13:04:26)
Офлайн
import model model.class_name.select()[10010:10010+20]
Офлайн
OlDer, спасибо!
но этот способ я уже использую :)
просто это простой пример, а вообще мне нужно:
1) как .select() влияет на память (база довольно большая и будет расти довольно быстро)
2) как из sqlobject работать с последовательностями и другими особенностями некоторых СУБД (например - postgresql)
Отредактировано (Март 19, 2007 06:16:05)
Офлайн
Использовать нативный API DB ;)
Офлайн
baluа не получиться при этом что я буду держать несколько соединений к БД ?
Использовать нативный API DB ;)
Офлайн
Не влияет он на память. Если посмотреть исходники, то станет ясно что это не настоящее отсечение.
Когда мы делаем select(), то sqlo не отсекает из всех записей нужный нам диапазон, а добавляет в запрос строки limit и offset для PostgreSQL и limit для MySQL.
Офлайн
Mkdirспасибо!
Когда мы делаем select(), то sqlo не отсекает из всех записей нужный нам диапазон, а добавляет в запрос строки limit и offset для PostgreSQL и limit для MySQL.
Офлайн
pythonwinЯ так и не пойму, зачем нужно напрямую работать с последовательностями? Может опишете этот кусок вашей предметной области чтобы понятнее была задача?
осталось только заставить sqlobject заставить работать с последовательностями
Офлайн
pythonwinПочему? Одно соединение на всевозможные выборки, другое на модификацию.
а не получиться при этом что я буду держать несколько соединений к БД ?
Офлайн
OlDerа можно работать с последовательностями как с объектами классов?
Я так и не пойму, зачем нужно напрямую работать с последовательностями?
Отредактировано (Март 21, 2007 07:30:37)
Офлайн