我有一个多态关联设置如下:
class Parent(Base)
id = Column(Integer, primary_key=True)
name = Column(String, nullable=False)
class Child(Parent)
parent_id = Column(ForeignKey(Parent.id), primary_key=True)
description = Column(String)
__mapper_args__ = {
'polymorphic_identity': 'child'
}
我希望能够先创建父表,然后将其链接到子表,如下所示:
parent = Parent(name='foobar')
session.add(parent)
session.flush()
child = Child(description='baz', parent_id=parent.id)
但是,我在子项创建的name
字段空约束上收到完整性错误 - 这意味着最后一行也会尝试插入到父表中。
有没有办法实现这种拆分插入?