我们说我的关系如下:
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对象,我想避免仅为此目的查询它们......
提前致谢!