gpt4 book ai didi

python - 如何与 SQLAlchemy 中的无类值建立关系?

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:36 26 4
gpt4 key购买 nike

我在 Flask 下使用 SQLAlchemy。我有一个代表我的系统可以使用的模式的表格。我还有一个表格,其中包含适用于每种模式的海拔列表。 (所以这是一个多对多的关系。)过去,当我添加一个属性(如 ScanModes 内的 elevations here)到映射到的类时表,目标也是一个类。

将高程包装在一个类中(并制作相应的表格?)是否更有意义,以便我可以使用 relationship 使 ScanModes.elevations 工作,或者我应该使用 query-enabled property 吗? ?我也乐于接受其他建议。

elevation_mode_table = db.Table('elevation_mode', db.metadata,
db.Column('scan_mode', db.String,
db.ForeignKey('scan_modes'),
nullable=False),
db.Column('elevation', db.Float,
nullable=False),
db.PrimaryKeyConstraint('scan_mode',
'elevation'))

class ScanModes(db.Model):
scan_mode = db.Column(db.String, primary_key=True)
elevations = ?

def __init__(self, scan_mode):
self.scan_mode = scan_mode

最佳答案

最直接的方法是将 elevation_mode_table 映射到一个类:

from sqlalchemy.orm import mapper
class ElevationMode(object):
pass

mapper(ElevationMode, elevation_mode_table)

class ScanModes(db.Model):
elevations = relationship(ElevationMode)

当然,更简单的方法是首先将 ElevationMode 声明为一个类,如果您需要处理 elevation_mode_table,您可以从 ElevationMode.__table__ ...

这里的“查询启用属性”想法,当然你也可以这样做,尽管你会失去关系的缓存优势。

关于python - 如何与 SQLAlchemy 中的无类值建立关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11002797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com