sql >> データベース >  >> RDS >> Mysql

SQLAlchemyモデルまたは基になるSQLテーブルのフィールド名のエイリアシング

    これは、 SQLAlchemyDocs で説明されている洗練されたソリューションです。 、これはまさにあなたが望むことをします:

    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. MySQLでタイムスタンプを日時に変換する方法は?

    2. Oracleの追加スキーマへのアクセスをユーザーに許可する正しい方法

    3. 繰り返されるテーブル内のレコードを削除するにはどうすればよいですか?

    4. チェックボックスの入力に基づいてMySQL列を更新する方法