我想在rails上创建像ruby这样的范围方法,并为范围方法的结果选择列,如下所示:
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
但不能两次调用query()并收到错误:
person = PersonModel(session)
male_ids = person.get_male_ids()
AttributeError: 'Query' object has no attribute 'query'
为范围方法的结果选择列的任何方法? 谢谢。