【发布时间】:2013-04-12 18:02:34
【问题描述】:
您可以在下面看到我的数据库中的一些表是如何关联的。
如您所见,中间的表格是连接 3 个具有多对多关系的表格...
- 一个基因可以在多个器官中表达并在多个实验中进行研究
- 在一个器官中,可以表达多个基因,并且可以在多个实验中研究一个器官。
- 在一个实验中,可以研究多个基因和器官
我正在使用 SQLAlchemy 插入数据。我知道如何与连接 2 个表的表添加多对多关系,并且或多或少是这样的:
def add_data():
session=Session()
gene = "BRCA2"
gene_to_add = Gene(gene_name = gene)
session.add(gene_to_add)
experiment = "experiment1"
experiment_to_add = Experiment(experimentAccession = experiment)
gene_to_add.experiment_rel.append(experiment_to_add)
organ = "brain"
organ_to_add = Organ(organName = organ)
session.commit()
session.close()
但我不知道如何添加新关系(本例中为器官表)。我尝试使用扩展而不是附加,但它不起作用...
有谁知道如何解决这种情况?也许数据库的结构应该改变......任何帮助将不胜感激
【问题讨论】:
-
进一步阐明模型:您希望如何/在哪里存储实验结果?这可能有助于改进现有模型的映射。
标签: python insert sqlalchemy many-to-many foreign-key-relationship