作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只想从我的模型中选择几列来加速查询,但我想要选择的列之一来自关系。
楷模:
class OpenChromatinRegion(db.Model):
...
gene_id = db.Column(db.Integer, db.ForeignKey("gene.id"), nullable=False, index=True)
gene = db.relationship("Gene", back_populates='open_chromatin_regions')
class Gene(db.Model):
id = db.Column(db.Integer, primary_key=True)
ENSEMBLID = db.Column(db.Integer, index=True, unique=True, nullable=False)
...
q = OpenChromatinRegion.query.with_entities(Gene.ENSEMBLID, ...)...
.with_entities(OpenChromatinRegion.gene.ENSEMBLID)
但这也不起作用。使用此语法,我没有收到错误,但请求超时。
最佳答案
你需要做一个连接:
q = OpenChromatinRegion.query.join(OpenChromatinRegion.gene) \
.with_entities(Gene.ENSEMBLID)
关于sqlalchemy - flask-sqlalchemy with_entities 和关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797216/
我只想从我的模型中选择几列来加速查询,但我想要选择的列之一来自关系。 楷模: class OpenChromatinRegion(db.Model): ... gene_id
查询我的数据库时,我只想加载指定的列。使用 with_entities 创建查询需要引用模型列属性,而使用 load_only 创建查询需要与列名称对应的字符串。我更愿意使用 load_only,因为
我是一名优秀的程序员,十分优秀!