Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Aliasing nama bidang dalam model SQLAlchemy atau tabel SQL yang mendasarinya

Berikut adalah solusi elegan yang dijelaskan dalam SQLAlchemy Documents , yang melakukan persis seperti yang Anda inginkan:

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

Ini berfungsi seperti yang diharapkan:

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

Omong-omong, User kelas harus merupakan subkelas dari SQLAlchemy declarative_base() kelas:

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

Buka dokumen untuk referensi lebih lanjut.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optimalisasi SQL Query untuk menghindari tabel sementara

  2. Cara yang benar untuk menggunakan LIKE '%{$var}%' dengan pernyataan yang sudah disiapkan? [mysqli]

  3. MySql.Data di GAC, masih SecurityException

  4. Bagaimana cara menghasilkan interval waktu acak dan menambahkannya ke datetime mysql menggunakan php?

  5. Pernyataan yang disiapkan PDO ini mengembalikan false tetapi tidak menimbulkan kesalahan