请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

现在是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 00:57:32

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

0 回复 有任何疑惑可以回复我~
  • 宝迪 #1
    所谓的数据库是不需要外键的是不是就是逻辑外键的意思呢 老师
    回复 有任何疑惑可以回复我~ 2018-06-28 22:58:18
  • 7七月 回复 宝迪 #2
    可以这么理解
    回复 有任何疑惑可以回复我~ 2018-06-29 20:48:14
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号