> > Also SelectResults is deprecated as > > Query includes all of its functionality now. > > So nice! Does this mean, in laymans term, > > 1. I do not have to bother writing "import > sqlalchemy.mods.selectresults" > 2. Normal query, whether used raw or through ORM, can supply data to > paginated data grids as efficiently as SelectResults was doing?
Further findings and queries on SelectResults: 1. Is SelectResults still needed in certain situations: a. Observed that SelectResults was having a count() method. If we don't use SelectResults, either we have to query the database for getting the count manually, or use len(list). Using 'len' may not be recommended in paginated data grids. b. Seeing the TurboGears code for 'paginate', it checks for the type of variable. If it is a list, it just applies len(list)! Does that mean, we have to explicitly use SelectResults with TurboGears? 2. SelectResults not behaving properly: I have some code which returns a list although I expect a SelectResults. Here is the minimal version reproducing that. Can't guess whether I am doing something wrong or it's a bug. Need help. from sqlalchemy import * from sqlalchemy.ext.assignmapper import assign_mapper from sqlalchemy.ext.sessioncontext import SessionContext import sqlalchemy.mods.selectresults context = SessionContext(create_session) session = context.current metadata = BoundMetaData('sqlite:///satest', echo=True) # table definitions person_table = Table('person', metadata, Column('person_id', Integer, primary_key=True, autoincrement = True), Column('first_name', Unicode(30)), Column('last_name', Unicode(30))) metadata.drop_all() metadata.create_all() class Person(object): pass assign_mapper(context, Person, person_table) p1 = Person(first_name="Sanjay", last_name="Patel") p2 = Person(first_name="Ranjan", last_name="Naik") session.flush() del p1 del p2 session.clear() # persons = Person.select_by(person_id=1) # assert isinstance(persons, sqlalchemy.ext.selectresults.SelectResults) # OK persons = Person.select(Person.c.person_id.in_(1)) assert isinstance(persons, sqlalchemy.ext.selectresults.SelectResults) # Fails! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---