簡體   English   中英

如何查詢SQLalchemy中的多表關系?

[英]How can I query multiple tables relationship in SQLalchemy?

我有這張表有多個表關系


class _FoodsInStock(Base):
    __tablename__ = 'FoodsInStock'

    date = Column(String, primary_key=True)

    breakfasts = relationship('_BreakfastsInStock')
    lunch = relationship('_LunchInStock')
    snacks = relationship('_SnacksInStock')
    cereals = relationship('_CerealsInStock')
    fruits = relationship('_FruitsInStock')
    cookies = relationship('_CookiesInStock')
    chocolates = relationship('_ChocolatesInStock')
    others = relationship('_OtherFoodsInStock')


我正在嘗試獲取與_FoodsInStock表相關的特定表

我知道我可以做這樣簡單的事情:


table = _FoodInStock.query.get(id).breakfasts

這工作得很好,但我需要根據一些輸入來獲得相關的表格,這樣做需要我每行寫下那一行

有什么辦法可以根據輸入使表格相關聯嗎? 像字典里的東西:


tables = ['breakfasts', 'lunch', 'snacks', 'cereals', 'fruits', 'cookies', 'chocolates', 'others']

for table in tables:

    q = _FoodInStock.query.get(id)[table]

謝謝!

由於這些是屬性,您應該能夠使用getattr來實現這一點:

tables = ['breakfasts', 'lunch', 'snacks', 'cereals', 'fruits', 'cookies', 'chocolates', 'others']

for table in tables:
    q = getattr(_FoodInStock.query.get(id), table)

暫無
暫無

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

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