class Parent(B):
__tablename__ = 'parent'
id = (Integer, primary_key=True)
childrens = ("Child")
class Child(B):
__tablename__ = 'child'
id = (Integer, primary_key=True)
parent_id = (Integer, ForeignKey('parent.id'))
def save(self, parent):
parent.childrens.append(self)
db.session.add(parent)
db.session.add(self)
db.session.commit()
使用save方法后,调用 parent.childrens.all() 为空 表明未存储到数据库..why?
人肉调试一小时后..发现某个细节出错了..现在已经搞定了
这里其实 db.session.add(parent) 然后 commit,child 和 parent 就都进去了。 看你的代码,应该还是原生的 sqlalchemy,而且没有配置 backref 不知道是不是这里的问题。
写了个例子,你可以参考下。
https://gitcafe.com/greatghoul/sqlalchemy-samples