亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Flask SQLAlchemy 從查詢結果中的兩個連接的映射實體中獲取列

Flask SQLAlchemy 從查詢結果中的兩個連接的映射實體中獲取列

DIEA 2021-07-29 13:57:11
我有一個表格,MenuOptions它代表在我的應用程序的下拉列表中找到的任何選項。每個選項都可以通過它所屬的菜單(例如MenuOptions.menu_name)和該選項的特定值(MenuOptions.option_value)來標識。這個表在我的數據庫中都有關系并且不使用外鍵,所以我很難讓它與 SQLAlchemy 相結合。在 SQL 中,它會像以下一樣簡單:SELECT     *FROM    document        JOIN    menu_options ON menu_options.option_menu_name = 'document_type'        AND menu_options.option_value = document.document_type_id來定義這種關系。但是,在 SQLAlchemy 中執行此操作時遇到了麻煩,因為沒有外鍵我無法干凈地映射這種關系。在 SQLAlchemy 中,我迄今為止所做的最好的是:the_doc = db.session.query(Document, MenuOptions).filter(    Document.id == document_id).join(    MenuOptions,    and_(        MenuOptions.menu_name == text('"document_type"'),        MenuOptions.value == Document.type_id    )).first()哪個確實有效,并且確實返回了正確的值,但將它們作為兩個單獨模型對象的列表返回,因此我必須通過引用映射的文檔屬性the_doc[0]和映射的 MenuOptions 屬性通過the_doc[1]有沒有辦法可以在不使用外鍵或ForeignKeyConstraint我的模型中的任何外鍵的情況下,將此關系作為單個查詢對象返回,其中包含所有屬性?我試過了add_columns,add_entity但得到的結果基本相同。
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 276 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號