我有一個表格,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但得到的結果基本相同。
添加回答
舉報
0/150
提交
取消