看板 Python 關於我們 聯絡資訊
※ 引述《XAMDOU (薩姆德)》之銘言: : 我想請問一下 sqlalchemy foreignkey 相關的問題 : 我有一個 model class : 然後是繼承 Base (來自於sqlalchemy.ext.declarative.declarative_base) : Base = declarative_base() : class foo(Base): : field1 = Column(Integer, ...) : field2 = Column(Integer, ...) : field3 = Column(Integer, ForeignKey(...) ...) : 我在 Base 裡面有寫一個 __json__() : 它是一個 model 的 deserialize function to json format : 其中或許會做一點 nested expand 的動作 : 例如說把 field3 對應到的 model instance, 自動轉 json 後倒進來 : 而因為有很多 model class : 我想把這個 Base 裡面的 __json__() 寫的 general 一點 : 我現在有辦法拿到 model 的 instance : 也有辦法去拿到 model instance 內的 foreignkey 資訊 : 但我的問題是 我不知道怎麼拿到 : 這個foreignkey 所關聯的 class obj : 為了做general nested expansion 會需要這東西 : 請問有熟悉 sqlalchemy 的大大嗎 >_< : 通常在處理這種問題的時候 : 使用 sqlalchemy 該怎麼做 : 感恩! 手上剛好有個參考: column = getattr(model.__class__, column_name) return column.property.__class__.__name__ == 'RelationshipProperty' column.property 應該就是那個 instance 實際上你可能會寫: value = getattr(model, column_name) if value.property.__class__.__name__ == 'RelationshipProperty': value = value.to_json() 參考看看。 -- keitheis ") -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.240.203