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 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.