量化分析 2017-11-16 10:04 采纳率: 0%
浏览 4407
已结题

怎样使用sqlalchemy ORM对一个已有的表进行查询

我知道正常的查询是这样的:
session.query(User).filter_by(name='user1').all()

但是这个的前提是,User类已知。
在表已经存在的前提下,而这个表并不是我用ORM创建的, 我可以使用什么方法进行查询? 假设表名tb_user
比较笨的方法是自己去 show create table tb_user;
然后根据表的结构去创建一个User类。

有没有其他好的办法?

  • 写回答

1条回答 默认 最新

  • shonmark 2017-11-16 13:41
    关注

    你需要建个class把表字段写进去,做个数据库映射。
    class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(15), unique=True)
    email = db.Column(db.String(50), unique=True)
    password = db.Column(db.String(80))
    这个class里的就是你表的字段,class名就是你的表名,可以定义长度,是否为key等。如果没有这张表,运行时会按class里的创建。缺少字段会添加。
    具体看看sqlalchemy的官网如果你就想看下表结构,可以用数据库可视化工具,navicat,pycharm也自带数据库可视化工具,不过比较慢,自己百度下。

    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100