Thanks! On Mon, May 9, 2016 at 11:47 PM, Mike Bayer <mike...@zzzcomputing.com> wrote:
> > OK let's make it take both into account.... > > > print [c.key for c in sorted(inspect(Venue).column_attrs, key=lambda col: > col.columns[0]._creation_order)] > > > > On 05/09/2016 12:41 PM, Denis Rykov wrote: > >> It not returning expected result: >> >> >>> [c.key for c in sorted(inspect(Venue).columns, key=lambda col: >> col._creation_order)] >> ['id', 'name', 'address'] >> >> I want to get ['id', 'name', 'address_']. >> >> >> On Mon, May 9, 2016 at 9:01 PM, Mike Bayer <mike...@zzzcomputing.com >> <mailto:mike...@zzzcomputing.com>> wrote: >> >> >> ideally declarative would try to preserve this ordering for straight >> columns, for now you can do it like this: >> >> >> [c.key for c in sorted(inspect(Venue).columns, key=lambda col: >> col._creation_order)] >> >> >> >> On 05/09/2016 09:50 AM, Denis Rykov wrote: >> >> Thanks for quick response. I've tried your approach: >> >> Venue.__table__.columns.keys() >> >> ['id', 'name', 'address'] >> >> But how I can get class attributes in the same order as real >> table columns? >> >> On Mon, May 9, 2016 at 8:31 PM, Mike Bayer >> <mike...@zzzcomputing.com <mailto:mike...@zzzcomputing.com> >> <mailto:mike...@zzzcomputing.com >> >> <mailto:mike...@zzzcomputing.com>>> wrote: >> >> not a bad question. Those attributes are the mapper-assigned >> attributes and I'd guess that because address_ has an >> alternate >> name, declarative is setting it up in a different step. The >> attributes on a class can't be ordered in any case. >> >> To get the real order of columns at the Core level use the >> table: >> >> Venue.__table__.columns.keys() >> >> >> >> On 05/09/2016 08:11 AM, Denis Rykov wrote: >> >> Hello. >> >> Why "address_" key on first place of list, is it >> expected behaviour? >> >> | >> >>> from sqlalchemy.ext.declarative import >> declarative_base >> >>> from sqlalchemy.inspection import inspect >> >>> from sqlalchemy import Integer, Column, Unicode >> >>> >> >>> Base = declarative_base() >> >>> >> >>> >> >>> class Venue(Base): >> ... __tablename__ = 'venue' >> ... id = Column(Integer, primary_key=True) >> ... name = Column(Unicode, nullable=False) >> ... address_ = Column('address', Unicode, >> nullable=False) >> ... >> >>> inspect(Venue).columns.keys() >> ['address_', 'id', 'name'] >> | >> >> >> -- >> 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 >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com> >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com >> <mailto:sqlalchemy%252bunsubscr...@googlegroups.com>> >> <mailto:sqlalchemy+unsubscr...@googlegroups.com >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com> >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com >> <mailto:sqlalchemy%252bunsubscr...@googlegroups.com>>>. >> To post to this group, send email to >> sqlalchemy@googlegroups.com <mailto:sqlalchemy@googlegroups.com> >> <mailto:sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com>> >> <mailto:sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com> >> <mailto:sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com>>>. >> 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 a >> topic in >> the Google Groups "sqlalchemy" group. >> To unsubscribe from this topic, visit >> >> https://groups.google.com/d/topic/sqlalchemy/k0MrlMBvAls/unsubscribe. >> To unsubscribe from this group and all its topics, send an >> email to >> sqlalchemy+unsubscr...@googlegroups.com >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com> >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com >> <mailto:sqlalchemy%252bunsubscr...@googlegroups.com>>. >> >> To post to this group, send email to >> sqlalchemy@googlegroups.com <mailto:sqlalchemy@googlegroups.com> >> <mailto:sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com>>. >> 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 >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com> >> <mailto:sqlalchemy+unsubscr...@googlegroups.com >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com>>. >> To post to this group, send email to sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com> >> <mailto:sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com>>. >> 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 a topic in >> the Google Groups "sqlalchemy" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/sqlalchemy/k0MrlMBvAls/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> sqlalchemy+unsubscr...@googlegroups.com >> <mailto:sqlalchemy%2bunsubscr...@googlegroups.com>. >> To post to this group, send email to sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com>. >> 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 >> <mailto:sqlalchemy+unsubscr...@googlegroups.com>. >> To post to this group, send email to sqlalchemy@googlegroups.com >> <mailto:sqlalchemy@googlegroups.com>. >> 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 a topic in the > Google Groups "sqlalchemy" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sqlalchemy/k0MrlMBvAls/unsubscribe. > To unsubscribe from this group and all its topics, 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. > -- 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.