Найти - Пользователи
Полная версия: Pylons+Sqlalchemy
Начало » Pyramid / Pylons / TurboGears » Pylons+Sqlalchemy
1
dorian
Возник вопрос по использованию генеративных методов Sqlalchemy в Pylons.
Создаем маппер:

countries_mapper = assign_mapper(ctx, countries, sbemodel.countries_table)
Пытаемся использовать генеративные методы:
--------------------
self.m_Domain = model.countries
--------------------
self.m_Domain.order_by(asc(self.m_Domain.c[self.m_SessionMNG.GetSortfield()]))
Получаем ошибку:
<type ‘exceptions.AttributeError’>: type object ‘countries’ has no attribute ‘order_by’

Наверняка я чего то не знаю. :(
j2a
countries_mapper может быть?
dorian
j2a
countries_mapper может быть?
Сто пудов. Уже вроде как разобрался.
dorian
Нет, таки не оно :(
slivlen
Можно и без мэппера обойтись.
self.m_Domain.select(order_by=[asc(self.m_Domain.c[self.m_SessionMNG.GetSortfield()])])
dorian
мне просто необходимо строить запросы динамически исходя из многих параметров
slivlen
dorian
мне просто необходимо строить запросы динамически исходя из многих параметров
Так select() как раз для этого и подходит :)
dorian
select сразу возвращает результат. А мне необходимо сначала подготовить запрос, а только потом получить по нему результат:
if self.m_SessionMNG.GetSortrule() == 'asc':
self.m_Domain.order_by(asc(self.m_Domain.c[self.m_SessionMNG.GetSortfield()]))
else:
self.m_Domain.order_by(desc(self.m_Domain.c[self.m_SessionMNG.GetSortfield()]))
if self.m_SessionMNG.GetSearchrule():
self.m_Domain.filter()
--------------------------------------
self.m_Domain.list() # выполняем построенный запрос
К тому же там багатый набор метожов по агрегированию данных и объединению таблиц
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB