我正在尝试使用SQL炼金术将类保存到Postgres数据库,但是我的方法似乎不起作用。
数据库架构如下:
class PersistentClass(Base):
__tablename__ = 'persistent_class'
id = Column(String(50), primary_key=True, index=True,
nullable=False, autoincrement=False)
class_binary = Column(Binary, nullable=False)
def __init__(self, id, class_binary):
self.id = id
self.class_binary = class_binary
我想使用类的方法保存它:
class model:
def persist(self):
file = open(f"{self.id}.pkl", 'wb')
model = PersistentClass(id_model=self.id,
model_binary=pickle.dump(self, file, protocol=pickle.HIGHEST_PROTOCOL))
session.add(model)
session.commit()
但是,这只会将ID保存在相对的软件包目录中,而不是保存到数据库中。请任何人提供有关如何确保将其正确保存到数据库的建议。谢谢。