sql >> Databasteknik >  >> RDS >> Mysql

Aliasing av fältnamn i SQLAlchemy-modellen eller underliggande SQL-tabell

Här är en elegant lösning som beskrivs i SQLAlchemy Docs , som gör precis vad du vill:

from sqlalchemy.orm import synonym
class User():
    __tablename__ = 'Users'
    username = Column(STRING, primary_key=True)
    id = synonym('username')

Det fungerar precis som förväntat:

>>> john = session.query(User).filter_by(id='John Doe').first()
>>> print([john.id, john.username])
['John Doe', 'John Doe']
>>> john.id is john.username
True

Förresten, User klass måste vara en underklass av SQLAlchemy declarative_base() klass:

from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
    ...

Gå till docs för ytterligare referens.




  1. Välja data från två olika servrar i SQL Server

  2. Främmande nycklar kontra partitionering

  3. Hur man installerar Squirrel SQL Client

  4. MySQL Visa index i databasen