2017-02-03 10 views
0

Я хочу создать метод области видимости, как рубин на рельсах и выбрать столбцы для результата метода области действий следующим образом:выберите столбцы для объекта запроса, возвращаемых методом области видимости в SQLAlchemy

class PersonModel(object): 

    def __init__(self, session): 
     self.session = session 

    def male_scope(self): 
     query = self.session.query(Person).filter(Person.sex == 'male') 
     return query 

    def get_male_ids(self): 
     results = self.male_scope().query(Person.id).all() #=> this is not correct 
     return results 

но не могут вызвать запрос () дважды и получил ошибку:

person = PersonModel(session) 
male_ids = person.get_male_ids() 

AttributeError: 'Query' object has no attribute 'query'

любые способы выбора столбцов для результата метода области видимости? спасибо.

ответ

0

Вы можете изменить список вещей, запрашиваемых с помощью .with_entities():

self.male_scope().with_entities(Person.id) 
+0

Это именно то, что я хочу !! Большое спасибо!! – rupy

 Смежные вопросы

  • Нет связанных вопросов^_^