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 <[email protected]> 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 <[email protected]
>> <mailto:[email protected]>> 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 [email protected]
>>         <mailto:sqlalchemy%[email protected]>
>>         <mailto:[email protected]
>>         <mailto:sqlalchemy%[email protected]>>.
>>         To post to this group, send email to [email protected]
>>         <mailto:[email protected]>
>>         <mailto:[email protected]
>>         <mailto:[email protected]>>.
>>         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
>>     [email protected]
>>     <mailto:sqlalchemy%[email protected]>.
>>     To post to this group, send email to [email protected]
>>     <mailto:[email protected]>.
>>     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 [email protected]
>> <mailto:[email protected]>.
>> To post to this group, send email to [email protected]
>> <mailto:[email protected]>.
>> 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
> [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to