能否实现使用sqlalchemy仅处理业务逻辑,而不参与表的设计

来源:4-9 将模型映射到数据库中

eleksbai

2018-04-06

现在是sqlachemy处理数据的写入,有多张表,通过表的一些同名字段把几张表联系起来,不做外键关联。数据库表用workbench进行设计和创建,我用了


meta = MetaData()

meta.reflect(bind=engine)

Base = automap_base(metadata=meta)

Base.prepare()

AutoClassis = Base.classes

来获取表的结构。能否实现我定义一个表的类,表类不写数据结构,使用我从数据库自动映射的结构,可以写一些业务逻辑,像表类写了数据结构那样应用。


不想在代码里写表的结构,使用workbench对表的结构调整比较方便


如何实现在sqlalchemy 的字段设置表的关联,通过表的某几个同名字段等值进行联系,不在数据库中写入外键。


如何便捷的实现这样联表查询,有一个商品表(商品id),商品价格记录表(商品id,价格,时间)。找到某个商品最新的价格数据。因为没有外键关联,sqlalchemy实现的联表查询代码变得非常恶心。


希望sqlalchemy可以在不往数据库写入外键关联的情况下,理解我表之间的联系,方便我写一些数据处理逻辑


写回答

1回答

7七月

2018-04-07

sqlalchemy本身就不需要外键关联。但你至少要再模型上体现关联,就是说模型与模型要有关联,但数据库是不需要外键的。如果说数据库没有外键,模型又没有关联,那怎么也无法帮你做快速的关联查询啊。那只能你查两遍数据库或者使用 join语句啊。

0
2
7七月
回复
宝迪
可以这么理解
2018-06-29
共2条回复

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程