小编psv*_*svm的帖子

如何使用 SQLAlchemy 将一个数据库会话的多对多关系合并到另一个数据库会话?

当我的 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)

sqlalchemy python-2.7

4
推荐指数
1
解决办法
2670
查看次数

标签 统计

python-2.7 ×1

sqlalchemy ×1