Mysql
 sql >> база данни >  >> RDS >> Mysql

Псевдонимни имена на полета в модела на SQLAlchemy или основната SQL таблица

Ето елегантно решение, описано в SQLAlchemy Docs , което прави точно това, което искате:

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

Работи точно както се очаква:

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

Между другото, User класът трябва да бъде подклас на SQLAlchemy declarative_base() клас:

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

Отидете на docs за допълнителна справка.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android - JSON mySQL заявката дава NetworkOnMainThreadException

  2. MySQL или PHP Преобразувайте редовете в колони

  3. Изберете във връзка много към много в MySQL

  4. CREATE TABLE new_table_name КАТО old_table_name със стойностите AUTO_INCREMENT на old_table_name

  5. Как GROUP BY DESC избира своята поръчка?