我有一个类GeneList
,它是Gene
个实例的列表,另一个类GeneSignature
是GeneList
加元数据。出于某种原因,在我添加并将列表提交到数据库之后,基因列表中的基因数量会发生。例如:
print(len(gene_signature.gene_list)) # 204
session.add(gene_signature)
session.commit()
print(len(gene_signature.gene_list)) # 362
奇怪的是,这只发生在我连接到我的开发数据库时,它没有设置外键约束。如果我使用相同的输入数据执行相同的add
/ commit
但使用适当的外键约束连接到我的生产数据库,则数字为204
,然后是204
,如预期
我认为外键约束仅用于数据完整性。什么可能导致这种情况?
修改
我设置了外键,问题解决了。为什么呢?