【发布时间】:2010-12-31 12:14:19
【问题描述】:
我想在我的模型中将数据类型表示为单个列,但实际上数据将存储在数据库的多个列中。我在 SQLAlchemy 中找不到任何好的资源。
我希望我的模型看起来像这样(这是一个使用几何的简化示例,而不是我更难解释的实际问题):
class 3DLine(DeclarativeBase):
start_point = Column(my.custom.3DPoint)
end_point = Column(my.custom.3DPoint)
这样我可以一次分配一个具有点的 (x, y, z) 分量的对象,而无需单独设置它们。如果我必须分离每个组件,这可能会变得很难看,特别是如果每个类都有几个这样的复合对象。我会将这些值组合到一个编码字段中,但有时我需要单独查询每个值。
我能够找到如何使用单个列 in the documentation 创建自定义类型。但没有迹象表明我可以将一个类型映射到多个列。
我想我可以通过使用单独的表来完成此操作,并且每一列都是一个外键,但在我的情况下,我认为将每个点都映射到单独的表是没有意义的,这仍然不能一次性设置相关值。
【问题讨论】:
标签: orm model sqlalchemy