Python SQL Alchemy:在同一会话中添加父级和子级时发生数据库错误

Python SQL Alchemy:在同一会话中添加父级和子级时发生数据库错误,python,sqlalchemy,Python,Sqlalchemy,SQL Alchemy在我同时刷新会话中的子级和父级时抛出DatabaseError 类父(基): __tablename_uuu='parents' #主键-使用两列 id=列(整数,主键=True,自动递增=True) 拆分id=Column(整数,主键=True,自动递增=False,默认值=0,服务器默认值=0') #其他栏目。。。 类子级(版本化,基本): __tablename_uuu='children' id=列(整数,主键=True,自动递增=True) parent_id=C

SQL Alchemy在我同时刷新会话中的子级和父级时抛出DatabaseError

类父(基):
__tablename_uuu='parents'
#主键-使用两列
id=列(整数,主键=True,自动递增=True)
拆分id=Column(整数,主键=True,自动递增=False,默认值=0,服务器默认值=0')
#其他栏目。。。
类子级(版本化,基本):
__tablename_uuu='children'
id=列(整数,主键=True,自动递增=True)
parent_id=Column(parent.id.type,null=False)
parent\u split\u id=Column(parent.split\u id.type,null=False)
__表参数=(
外来约束(
[parent\u id,parent\u split\u id],
[Parent.id,Parent.split\u id],
onupdate='cascade',
),
)
#其他栏目。。。
父=关系(
“家长”,
backref=backref(“子项”),
)
父=父()
parent.child=child()
会话。添加(父级)
session.flush()#sqlalchemy.exc.DatabaseError:(mysql.connector.errors.DatabaseError)1364(HY000):字段“child_id”没有默认值
我正在分析一个电子表格,简单地将所有新内容添加到会话中,然后在最后提交。我确保重用对象。但是
id
在我执行
session.flush()
之前不会被分配,当我执行
session.flush()
时,我的父对象也会被刷新,因为它与
反填充有关系

正确的sql炼金术方法是什么?我在文档中找不到任何相关内容。这都是关于建立关系的


编辑:使用类示例更新代码。在我的例子中,我使用复合主键,但这应该是一个问题。错误抱怨孩子没有id。

尝试为孩子id添加默认值。我希望
孩子id
在创建后会从指定的child.id自动填充。添加了类示例。它们非常大,所以我只添加了在它们之间形成关系的方式。尝试为您的child_id添加默认值。我希望
child_id
在创建后会从指定的child.id自动填充。添加了类示例。他们是相当大的,所以我只是增加了我在他们之间建立关系的方式。