我有一個對象,我試圖添加持久性以使用sqlalchemy來允許對象的本地查找,前提是我已經創建了它的一個實例。 在該對象的初始化語句中,我有以下代碼:SqlAlchemy中的對象持久性 - 將自我添加到數據庫
persistent = session.query(exists().where(myobject.myfield==self.myfield)).scalar()
if not persistent:
self.create_object_from_scratch()
session.add(myfield, self)
session.commit()
else:
self.utilize_object_in_database()
按上文所述,對象可確定它是否已經在數據庫中的主鍵MyField的是在數據庫中。如果不是,我想創建該對象,然後將其添加到會話中並提交。我設置的數據庫結構只有兩列...一個主鍵(字符串)和一個BLOB,它應該代表我的'對象'進行檢索。
然而,用這種方法,我得到一個UnmappedInstanceError:「類‘內置名爲.str’沒有映射
我的問題是,鑑於我想在這裏完成(Python對象的持久性)。 ?我在接近這一正確/有效是否有可能使用的SQLAlchemy添加的「自我」到數據庫的BLOB