簡體   English   中英

如何從SQLAlchemy類和自己的類繼承

[英]How to inherit from SQLAlchemy classes and own classes

我使用SQLAlchemy進行類繼承時遇到問題。

接下來的分鍾 該示例顯示了我想做什么以及我的問題是什么:

class Foo(object):
    bar = 'hello world'

class Car(Base, Foo):
    id = Column(Integer, primary_key=True)
    color = Column(String(50))

if __name__ == '__main__':
    # 'bar' attribute is available on new class instance
    my_car = Car()
    print my_car.bar # "hello world"

    # 'bar' attribute is not available on query init
    db_session = init_db()
    my_car = db_session.query(Car).first()
    print my_car.bar # Error

我有一個Car類,它繼承自SQLAlchemy的Base類。 除此之外, Car類繼承自Foo類。 在此示例中, Foo類僅包含一個屬性bar

當通過SQLAlchemy的查詢功能實例化Car實例時,我無法訪問bar屬性。 SQLAlchemy如何實例化類,對我來說有什么解決方法嗎?

我正在使用SQLAlchemy 0.7。

您可以將cls參數用於declarative_base以將默認object替換為所有類的基礎:

Base = declarative_base(cls=MyBaseClass)

有關更多信息和選項,請閱讀文檔的“混合和自定義基類”部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM