sql >> Database teknologi >  >> RDS >> Mysql

Aliasing af feltnavne i SQLAlchemy-model eller underliggende SQL-tabel

Her er en elegant løsning beskrevet i SQLAlchemy Docs , som gør præcis, hvad du vil:

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

Det virker lige som forventet:

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

Forresten, User klasse skal være en underklasse af SQLAlchemy declarative_base() klasse:

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

Gå til dokumenter til yderligere reference.




  1. MySQL-fejlkode:1411. Forkert datetime-værdi:'' for funktionen str_to_date

  2. Opretter DATETIME fra DATE og TIME

  3. C# opkald oracle lagret funktion

  4. Hvorfor enhver lille virksomhed har brug for en database