
SQLAlchemy
沐沐牡
这个作者很懒,什么都没留下…
展开
-
SQLAlchem的查询
在 SQLAlchemy 中执行查询是通过 session 对象的 query 方法完成的。 遍历for user in session.query(User).order_by(User.id): print(user.name, user.fullname)# 执行结果:ed Ed Joneswendy Wendy Williamsmary Mary Co...转载 2018-08-10 19:58:48 · 492 阅读 · 0 评论 -
sql动态查询
https://codeday.me/bug/20180318/145857.html所以我有一个从网页传递的dict。我想基于dict动态构建查询。我知道我可以做:session.query(myClass).filter_by(**web_dict)但是,仅当值完全匹配时才起作用。我需要做“像”过滤。我最好的尝试使用__dict__属性:for k,v i...转载 2019-05-28 17:30:48 · 3311 阅读 · 0 评论 -
url的编码解码
当url地址含有中文或者“/”的时候,这是就需要用做urlencode一下编码转换。 一、urlencode urlencode的参数是词典,它可以将key-value这样的键值对转换成我们想要的格式。如果你用的是python2.*,urlencode在urllib.urlencode。如果使用的是python3,urlencode在urllib.parse.urlencode...转载 2018-09-14 20:39:06 · 271 阅读 · 0 评论 -
表关系建立
建立表之间带关系建立外建在address添加user的外键from sqlalchemy import ForeignKey, Column, String, Integerfrom sqlalchemy.orm import relationshipclass User(Base): __tablename__ = 'users' id = Column(...转载 2018-09-14 20:05:53 · 280 阅读 · 0 评论 -
SQLAlchemy增删改查
查看版本>>> import sqlalchemy>>> sqlalchemy.__version__'1.0.9' 创建连接from sqlclachemy import create_engineengine = create_engine("sqlite:///:memory:", echo=True)‘sqlite:///:...转载 2018-09-14 17:42:33 · 1037 阅读 · 0 评论 -
SQLAlchemy 的 scoped_session
SQLAlchemy 的 scoped_session 是啥玩意通常我们用 SQLAlchemy 写数据的时候要创建 Session 对象来维护数据库会话,用完了再关掉。但是听说还有个叫scoped_session的玩意,这是做啥用的?这东西其实与 web 应用有一些关系。我们在使用 Django 的 ORM 的时候怎么没见到需要创建个 session 呢?因为它已经悄悄帮你实现好了维护 ...转载 2018-09-14 11:24:35 · 9350 阅读 · 4 评论 -
sqlalchemy limmit、offset及slice操作详解
在sqlalchemy中,如何使用limit 、offset 、slice(切片)呢?下面我就举例来讲讲这三种操作的用法。 老规矩,我们先创建一个模型(相信大家写这代码写的滚瓜烂熟了!)class Arctire(Base): __tablename__ = "arctire" id = Column(Integer , primary_key=True ...转载 2018-08-17 16:35:30 · 637 阅读 · 0 评论 -
SQLAlchemy的relationship
relationship函数是sqlalchemy对关系之间提供的一种便利的调用方式, backref参数则对关系提供反向引用的声明1 背景如没有relationship,我们只能像下面这样调用关系数据 如果在User中使用relationship定义addresses属性的话,addresses = relationship('Address')则我们可以直接在...转载 2018-08-16 15:59:20 · 5619 阅读 · 0 评论 -
SQLAlchemy 多表查询
1. join 查询假设这样一个业务场景,知道一个邮箱地址,要查询这个地址所属的用户,第一个办法是用连接多个 filter() 来查询。for u, a in session.query(User, Address).\ filter(User.id==Address.user_id).\ filter(Address.email_address=='jack@googl...转载 2018-08-16 15:42:45 · 8679 阅读 · 0 评论 -
count 超级慢
在使用Flask -Sqlalchemy 时,遇到了 count 操作巨慢,而且内存彪满的情况,原代码如下:#计算user表,年龄大于10的条数count = userModel.query.filter(userModel.age>10).count()在数据量小的情况下,没有任何问题,当数据量上升到百万级别,就会出现巨慢的情况,而且主机内存一下子占用很多,原因如下,s...转载 2019-06-01 20:50:07 · 1833 阅读 · 0 评论