ste*_*ldo 24 python sqlalchemy flask flask-sqlalchemy
class Parent(db.Model):
id = db.Column(db.Integer, primary_key=True)
class Child(db.Model):
id = db.Column(db.Integer, primary_key=True)
parent_id = db.Column(db.Integer, db.ForeignKey('parent.id'))
parent = Parent()
db.session.add(parent)
child = Child()
child.parent_id = parent.id
db.session.add(child)
db.session.commit()
Run Code Online (Sandbox Code Playgroud)
我想INSERT到两个parent及child表考虑到一个会话中parent_id必须包含在该child表中.在我创建child对象的那一刻,parent.id是None.
我怎样才能做到这一点?
Pau*_* Lo 37
您可以使用flush()刷新对数据库的更改,从而更新主键字段:
parent = Parent()
db.session.add(parent)
db.session.flush()
print parent.id # after flush(), parent object would be automatically
# assigned with a unique primary key to its id field
child = Child()
child.parent_id = parent.id
db.session.add(child)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13230 次 |
| 最近记录: |