将关系插入表中,该表使用SQLALchemy将3个表连接成多对多关系-python [英] Inserting relationships into a table which connects 3 tables with many to many relationships with SQLALchemy - python

查看:75
本文介绍了将关系插入表中,该表使用SQLALchemy将3个表连接成多对多关系-python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面您可以看到我数据库的某些表之间的关系.

Below you can see how some tables of my database are related.

如您所见,中间的表正在连接3个具有多对多关系的表...

As you can see the table in the middle is connecting 3 tables with many-to-many relationships...

  1. 一个基因可以在一个以上的器官中表达,并且可以在一个以上的实验中进行研究
  2. 在一个器官中,可以表达多个基因,并且可以在多个实验中研究一个器官.
  3. 在一个实验中,可以研究多个基因和器官

我正在使用SQLAlchemy插入数据.我知道如何与连接2个表的表添加多对多关系,或多或少我这样做是这样的:

I am using SQLAlchemy to insert data. I know how to add a many-to-many relationships with a table that is connecting 2 tables, and more or less I do it like this:

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()

但是我不知道如何添加新的关系(在这种情况下为Organs表).我尝试了用extend而不是append,但这行不通...

But I don't know how to add a new relationship (organs table in this case). I tried with extend instead of append, but it doesn't works...

有人知道如何解决这种情况吗?也许数据库的结构应该改变...任何帮助将不胜感激

Does anyone know how to solve this kind of situation? Maybe the structure of the database should change... any help would be much appreciated

推荐答案

您始终可以使用

这篇关于将关系插入表中,该表使用SQLALchemy将3个表连接成多对多关系-python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆