当我的 python 应用程序启动时,我想从 加载所有数据in.db并将其放入out.db(然后可能在 中进行更改out.db)。我使用session.merge(loaded_object),但问题是它不保存相关对象。
我的数据是简单的 Person 对象,它们之间具有明显的父子关系(多对多):
from sqlalchemy import create_engine, Column, String, Integer, ForeignKey
from sqlalchemy.orm import sessionmaker, relationship, backref
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Person(Base):
__tablename__ = "people"
id = Column(Integer, primary_key=True)
name = Column(String)
def __init__(self, name):
self.name = name
def add_kid(self, kid):
Edge(kid=kid, parent=self)
return self
def get_kids(self):
return [edge.kid for edge in self.kid_edges]
def add_parent(self, parent):
Edge(kid=self, parent=parent)
return self
def get_parents(self):
return …Run Code Online (Sandbox Code Playgroud)