Уведомления

Группа в Telegram: @pythonsu

#1 Март 28, 2007 19:01:52

dorian
От:
Зарегистрирован: 2006-05-18
Сообщения: 79
Репутация: +  0  -
Профиль   Отправить e-mail  

Pylons+Sqlalchemy

Возник вопрос по использованию генеративных методов 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’

Наверняка я чего то не знаю. :(



Офлайн

#2 Март 28, 2007 21:50:48

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Pylons+Sqlalchemy

countries_mapper может быть?



Офлайн

#3 Март 28, 2007 22:06:58

dorian
От:
Зарегистрирован: 2006-05-18
Сообщения: 79
Репутация: +  0  -
Профиль   Отправить e-mail  

Pylons+Sqlalchemy

j2a
countries_mapper может быть?
Сто пудов. Уже вроде как разобрался.



Офлайн

#4 Март 28, 2007 22:13:08

dorian
От:
Зарегистрирован: 2006-05-18
Сообщения: 79
Репутация: +  0  -
Профиль   Отправить e-mail  

Pylons+Sqlalchemy

Нет, таки не оно :(



Офлайн

#5 Март 28, 2007 22:21:06

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Pylons+Sqlalchemy

Можно и без мэппера обойтись.

self.m_Domain.select(order_by=[asc(self.m_Domain.c[self.m_SessionMNG.GetSortfield()])])



Офлайн

#6 Март 28, 2007 22:23:21

dorian
От:
Зарегистрирован: 2006-05-18
Сообщения: 79
Репутация: +  0  -
Профиль   Отправить e-mail  

Pylons+Sqlalchemy

мне просто необходимо строить запросы динамически исходя из многих параметров



Офлайн

#7 Март 28, 2007 22:30:00

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Pylons+Sqlalchemy

dorian
мне просто необходимо строить запросы динамически исходя из многих параметров
Так select() как раз для этого и подходит :)



Офлайн

#8 Март 28, 2007 22:35:30

dorian
От:
Зарегистрирован: 2006-05-18
Сообщения: 79
Репутация: +  0  -
Профиль   Отправить e-mail  

Pylons+Sqlalchemy

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() # выполняем построенный запрос
К тому же там багатый набор метожов по агрегированию данных и объединению таблиц



Отредактировано (Март 28, 2007 22:38:22)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version