Thanks, I could modify the model. But I did find a solution. Solution: I modified the model a little and added the "doc" attribute to the column and set a numerical number, by default "50" and then set date to be "80".
cols = Client.__table__.columns sortedCols = sorted(cols, key=getDoc) def getDoc(col_obj): return col_obj.doc This seems to work really well. I now can also allow users to change column order in my app and save their settings as well. Thanks, Charlie On Monday, October 10, 2016 at 7:25:04 PM UTC-7, Mike Bayer wrote: > > > > On 10/10/2016 01:44 PM, Charles Heizer wrote: > > Hello, > > I'm not sure if I'm asking this correctly. I'm fairly new to using > > SQLAlchemy so I'm sorry if I'm not using the correct terminology. > > > > How do I change the returning column order on a query? Is there an easy > > way? I would like to make 'mdate' be the last column. > > > > Thanks! > > > > Example: > > > > *Model* > > | > > classClient(CommonBase): > > __tablename__ ='clients' > > > > id =Column(BigInteger,primary_key=True) > > cid > > =Column(String(50),nullable=False,index=True,unique=True,info='Client > ID') > > mdate =Column(DateTime,server_default='1970-01-01 > > 00:00:00',info='Mod Date') > > serialno =Column(String(100),server_default='NA',info='Serial > > No') > > hostname > > =Column(String(255),server_default='NA',index=True,info='Host Name') > > ipaddr > > =Column(String(64),server_default='NA',index=True,info='IP Address') > > macaddr =Column(String(64),server_default='NA',info='MAC > > Address') > > | > > > > > > *Query* > > | > > clients =Client.query.all() > > so when you query that way, you take all the Column objects you've set > up for Client, throw them into a SELECT, and the results get sent back > into Client objects. It's odd that you would ask for an "order" in that > context; the SQL would render a certain way, but that in no way changes > the results you get back; no matter what the order in the SELECT > statement is, you get Client objects back with no defined ordering of > their attributes. > > To get back tuples with a specific ordering, break it out like this: > > rows = session.query(Client.id, Client.serialno, Client.mdate) > > you get back tuples instead that are ordered in terms of their > attributes. Maybe that's what you're asking. > > Otherwise, if you really just want Client objects and the SELECT happens > to put "mdate" last, then make "mdate" the last Column that you > construct when you build up Client: > > class Client(...): > __tablename__ = '...' > > id = Column(...) > > ... > > mdate = Column(...) > > but I can't imagine a scenario in which that makes any difference. > > > > > > > | > > > > > > -- > > You received this message because you are subscribed to the Google > > Groups "sqlalchemy" group. > > To unsubscribe from this group and stop receiving emails from it, send > > an email to sqlalchemy+...@googlegroups.com <javascript:> > > <mailto:sqlalchemy+unsubscr...@googlegroups.com <javascript:>>. > > To post to this group, send email to sqlal...@googlegroups.com > <javascript:> > > <mailto:sqlal...@googlegroups.com <javascript:>>. > > Visit this group at https://groups.google.com/group/sqlalchemy. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.