标签: sqlalchemy

SQLAlchemy:引擎,连接和会话差异

我使用SQLAlchemy并至少有三个实体:engine,session并且connection,其中有execute方法,所以如果我如想选择所有记录,从table我能做到这一点

engine.execute(select([table])).fetchall()
Run Code Online (Sandbox Code Playgroud)

还有这个

connection.execute(select([table])).fetchall()
Run Code Online (Sandbox Code Playgroud)

甚至这个

session.execute(select([table])).fetchall()
Run Code Online (Sandbox Code Playgroud)

- 结果将是相同的.

据我所知,如果有人使用engine.execute它创建connection,打开session(Alchemy为你处理它)并执行查询.但这三种执行此类任务的方式之间是否存在全球差异?

python orm session sqlalchemy psycopg2

103
推荐指数
2
解决办法
4万
查看次数

sqlalchemy flush()并插入id?

我想做这样的事情:

f = Foo(bar='x')
session.add(f)
session.flush()

# do additional queries using f.id before commit()
print f.id # should be not None

session.commit()
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时,f.id是None.我怎样才能让它发挥作用?

-担

python sqlalchemy

101
推荐指数
6
解决办法
6万
查看次数

如何在Flask-SQLAlchemy中按id删除记录

users我的MySql数据库中有表.这个表有id,name而且age领域.

我怎样才能删除一些记录id

现在我使用以下代码:

user = User.query.get(id)
db.session.delete(user)
db.session.commit()
Run Code Online (Sandbox Code Playgroud)

但我不想在删除操作之前进行任何查询.有没有办法做到这一点?我知道,我可以使用db.engine.execute("delete from users where id=..."),但我想使用delete()方法.

谢谢!

python sqlalchemy flask flask-sqlalchemy

101
推荐指数
4
解决办法
8万
查看次数

Flask SQLAlchemy查询,指定列名

如何使用模型在查询中指定我想要的列(默认选择所有列)?我知道如何使用sqlalchmey会话:session.query(self.col1)但是我如何使用模型?我做不到SomeModel.query().有办法吗?

python sqlalchemy flask-sqlalchemy

98
推荐指数
5
解决办法
9万
查看次数

Flask-SQLalchemy更新行的信息

如何更新行的信息?

例如,我想更改id为5的行的name列.

python sqlalchemy flask-sqlalchemy

95
推荐指数
4
解决办法
11万
查看次数

SQLAlchemy:如何过滤日期字段?

这是模型:

class User(Base):
    ...
    birthday = Column(Date, index=True)   #in database it's like '1987-01-17'
    ...
Run Code Online (Sandbox Code Playgroud)

我想在两个日期之间进行过滤,例如选择间隔18 - 30年的所有用户.

如何使用SQLAlchemy实现它?

我想:

query = DBSession.query(User).filter(
    and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17')
) 

# means age >= 24 and age <= 27
Run Code Online (Sandbox Code Playgroud)

我知道这不正确,但怎么做正确?

提前致谢!

python sql database orm sqlalchemy

93
推荐指数
3
解决办法
8万
查看次数

如何使用SQLAlchemy创建新数据库?

使用SQLAlchemy,引擎创建如下:

from sqlalchemy import create_engine
engine = create_engine("postgresql://localhost/mydb")
Run Code Online (Sandbox Code Playgroud)

engine如果数据库不存在,则访问失败.如果指定的数据库不存在,是否可以告诉SQLAlchemy创建新数据库?

python sqlalchemy

92
推荐指数
4
解决办法
6万
查看次数

SQLAlchemy ORM转换为pandas DataFrame

这个主题暂时没有在这里或其他地方得到解决.有没有将SQLAlchemy <Query object>转换为pandas DataFrame 的解决方案?

Pandas有能力使用,pandas.read_sql但这需要使用原始SQL.我有两个理由想要避免它:1)我已经拥有使用ORM的一切(这本身就是一个很好的理由)和2)我使用python列表作为查询的一部分(例如:我的模型类.db.session.query(Item).filter(Item.symbol.in_(add_symbols)在哪里Item并且add_symbols是一个列表).这相当于SQL SELECT ... from ... WHERE ... IN.

有可能吗?

python sqlalchemy pandas flask-sqlalchemy

92
推荐指数
6
解决办法
4万
查看次数

迭代sqlalchemy模型的已定义列的方法?

我一直在试图弄清楚如何迭代SQLAlchemy模型中定义的列列表.我希望它能为一些模型编写一些序列化和复制方法.我不能只迭代obj.__dict__它,因为它包含很多特定于SA的项目.

任何人都知道如何从以下获取iddesc名称?

class JobStatus(Base):
    __tablename__ = 'jobstatus'

    id = Column(Integer, primary_key=True)
    desc = Column(Unicode(20))
Run Code Online (Sandbox Code Playgroud)

在这个小案例中,我可以轻松创建:

def logme(self):
    return {'id': self.id, 'desc': self.desc}
Run Code Online (Sandbox Code Playgroud)

但我更喜欢自动生成的东西dict(对于较大的对象).

谢谢你的帮助.

python sqlalchemy

90
推荐指数
6
解决办法
5万
查看次数

sqlalchemy中的分组和计数功能

我想在sqlalchemy中使用"group by and count"命令.我怎样才能做到这一点?

python group-by sqlalchemy count

89
推荐指数
3
解决办法
8万
查看次数

标签 统计

python ×10

sqlalchemy ×10

flask-sqlalchemy ×4

orm ×2

count ×1

database ×1

flask ×1

group-by ×1

pandas ×1

psycopg2 ×1

session ×1

sql ×1