Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Aliasowanie nazw pól w modelu SQLAlchemy lub bazowej tabeli SQL

Oto eleganckie rozwiązanie opisane w SQLAlchemy Docs , który robi dokładnie to, czego chcesz:

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

Działa zgodnie z oczekiwaniami:

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

Przy okazji, User klasa musi być podklasą SQLAlchemy declarative_base() klasa:

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

Przejdź do dokumentacji w celu uzyskania dalszych informacji.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_real_escape_string() całkowicie usuwa ciąg

  2. JOIN Problem wydajności MySQL

  3. Zapytanie MySQL zwraca zduplikowane wiersze

  4. Jak przejść przez tablicę danych wejściowych w formularzu?

  5. Przeładuj dane MySQL w DIV za pomocą Ajax