SQLAlchemy - 使用数字ID将子项添加到多对多关系中

时间:2015-11-13 07:25:09

标签: python sqlalchemy

我们说我的关系如下:

parent_child = db.Table('parent_child',
                           db.Column('parent_id',
                                     db.Integer,
                                     db.ForeignKey('parent.id', ondelete='CASCADE')),
                           db.Column('child_id',
                                     db.Integer,
                                     db.ForeignKey('child_instance.id', ondelete='CASCADE')))


class Parent(db.Model):

    id = db.Column(db.Integer, primary_key=True)

    child_instances = db.relationship(
        'ChildInstance', secondary=parent_child, backref=backref('parents', lazy='joined'), lazy=False)

class ChildInstance(db.Model):
    id = db.Column(db.Integer, primary_key=True)

假设我们有一个子实例对象,我们可以使用append将其添加到child_instances关系中。

但是,如果我想在给定子项 numeric ids 的情况下实现父项的创建(请说,因为我已经从之前的会话中缓存了它们):

def create_parent_with_children_ids(children_ids):
    returned = Parent()
    db.session.add(returned)
    #????

如何做到这一点?从简单的尝试看,关系上的append似乎仅适用于ChildInstance对象,我想避免仅为此目的查询它们......

提前致谢!

0 个答案:

没有答案