Questions tagged «sqlalchemy»

SQLAlchemy是Python SQL工具箱和对象关系映射器,为应用程序开发人员提供了SQL的全部功能和灵活性。

6
SQLAlchemy按降序排列?
如何descending在如下所示的SQLAlchemy查询中使用ORDER BY ? 此查询有效,但以升序返回: query = (model.Session.query(model.Entry) .join(model.ClassificationItem) .join(model.EnumerationValue) .filter_by(id=c.row.id) .order_by(model.Entry.amount) # This row :) ) 如果我尝试: .order_by(desc(model.Entry.amount)) 然后我得到:NameError: global name 'desc' is not defined。
424 python  sqlalchemy 

4
SQLAlchemy:flush()和commit()有什么区别?
flush()和commit()SQLAlchemy 之间有什么区别? 我已经阅读了文档,但没有一个更明智-他们似乎假设了我没有的预见性。 我对它们对内存使用量的影响特别感兴趣。我正在从一系列文件(总共约500万行)中将一些数据加载到数据库中,而我的会话有时会崩溃-这是一个大型数据库,并且一台内存不足的机器。 我想知道我使用的电话太多commit()还是不够flush()-但是如果不真正了解两者之间的区别,很难分辨!
422 python  sqlalchemy 


30
将sqlalchemy行对象转换为python dict
有没有一种简单的方法可以遍历列名和值对? 我的sqlalchemy版本是0.5.6 这是我尝试使用dict(row)的示例代码,但它引发异常,TypeError:'User'对象不可迭代 import sqlalchemy from sqlalchemy import * from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker print "sqlalchemy version:",sqlalchemy.__version__ engine = create_engine('sqlite:///:memory:', echo=False) metadata = MetaData() users_table = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), ) metadata.create_all(engine) class User(declarative_base()): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) …
240 python  sqlalchemy 

6
SQLAlchemy IN子句
我正在尝试在sqlalchemy中执行此查询 SELECT id, name FROM user WHERE id IN (123, 456) 我想[123, 456]在执行时绑定列表。
237 python  sqlalchemy 

8
如何在Flask-SQLAlchemy应用中执行原始SQL
如何在SQLAlchemy中执行原始SQL? 我有一个在烧瓶上运行的python Web应用程序,并通过SQLAlchemy连接到数据库。 我需要一种运行原始SQL的方法。该查询涉及多个表联接以及内联视图。 我试过了: connection = db.session.connection() connection.execute( <sql here> ) 但是我不断收到网关错误。

4
在SQLAlchemy中使用OR
我看了看文档,似乎无法找出如何在SQLAlchemy中进行OR查询。我只想执行此查询。 SELECT address FROM addressbook WHERE city='boston' AND (lastname='bulger' OR firstname='whitey') 应该是这样的 addr = session.query(AddressBook).filter(City == "boston").filter(????)
190 python  sqlalchemy 

25
如何将SqlAlchemy结果序列化为JSON?
Django有一些很好的自动ORM模型从数据库返回到JSON格式的自动序列化。 如何将SQLAlchemy查询结果序列化为JSON格式? 我试过了,jsonpickle.encode但是它编码查询对象本身。我试过了json.dumps(items)但是回来了 TypeError: <Product('3', 'some name', 'some desc')> is not JSON serializable 将SQLAlchemy ORM对象序列化为JSON / XML真的很难吗?没有默认的序列化程序吗?如今,序列化ORM查询结果是非常常见的任务。 我需要的只是返回SQLAlchemy查询结果的JSON或XML数据表示形式。 javascript datagird(JQGrid http://www.trirand.com/blog/)中需要使用JSON / XML格式的SQLAlchemy对象查询结果
189 python  json  sqlalchemy 

6
SQLAlchemy默认DateTime
这是我的声明性模型: import datetime from sqlalchemy import Column, Integer, DateTime from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Test(Base): __tablename__ = 'test' id = Column(Integer, primary_key=True) created_date = DateTime(default=datetime.datetime.utcnow) 但是,当我尝试导入此模块时,出现此错误: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "orm/models2.py", line 37, in <module> class Test(Base): File "orm/models2.py", …
174 python  date  sqlalchemy 

2
sqlalchemy在多列中唯一
假设我有一个代表位置的类。位置“属于”客户。位置由Unicode 10个字符代码标识。对于特定客户,“位置代码”在位置之间应该是唯一的。 The two below fields in combination should be unique customer_id = Column(Integer,ForeignKey('customers.customer_id') location_code = Column(Unicode(10)) 因此,如果我有两个客户,客户“ 123”和客户“ 456”。它们都可以有一个称为“ main”的位置,但都不能有两个称为main的位置。 我可以在业务逻辑中处理此问题,但我想确保没有办法轻松地在sqlalchemy中添加需求。unique = True选项似乎仅在应用于特定字段时才起作用,这将导致整个表仅对所有位置具有唯一代码。
174 python  sqlalchemy 

7
SQLAlchemy:打印实际查询
我真的很希望能够为我的应用程序打印出有效的SQL,包括值,而不是绑定参数,但是如何在SQLAlchemy中做到这一点并不明显(我很确定)。 有人以一般方式解决了这个问题吗?
165 python  sqlalchemy 

8
SQLAlchemy是否具有与Django的get_or_create等效的功能?
我想从数据库中获取一个对象(如果已存在)(基于提供的参数),或者如果不存在则创建它。 Django的get_or_create(或source)做到了。SQLAlchemy中是否有等效的快捷方式? 我目前正在像这样明确地写出来: def get_or_create_instrument(session, serial_number): instrument = session.query(Instrument).filter_by(serial_number=serial_number).first() if instrument: return instrument else: instrument = Instrument(serial_number) session.add(instrument) return instrument

8
奇怪的SQLAlchemy错误消息:TypeError:'dict'对象不支持索引
我正在使用手工SQL,使用SqlAlchemy从PG数据库中获取数据。我正在尝试一个查询,其中包含类似运算符'%'的SQL,并且该查询似乎通过循环抛出SqlAlcjhemy: sql = """ SELECT DISTINCT u.name from user u INNER JOIN city c ON u.city_id = c.id WHERE c.designation=upper('fantasy') AND c.id IN (select id from ref_geog where short_name LIKE '%opt') """ # The last line in the above statement throws the error mentioned in the title. # However if …

3
我如何知道是否可以禁用SQLALCHEMY_TRACK_MODIFICATIONS?
每次我运行使用Flask-SQLAlchemy的应用程序时,都会收到以下警告,提示该SQLALCHEMY_TRACK_MODIFICATIONS选项将被禁用。 /home/david/.virtualenvs/flask-sqlalchemy/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning. warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.') 我试图找出此选项的作用,但是Flask-SQLAlchemy文档尚不清楚该跟踪的用途。 SQLALCHEMY_TRACK_MODIFICATIONS 如果设置为True(默认值),Flask-SQLAlchemy将跟踪对象的修改并发出信号。这需要额外的内存,如果不需要,可以将其禁用。 如何确定我的项目是否需要,SQLALCHEMY_TRACK_MODIFICATIONS = …

5
如何更新SQLAlchemy行条目?
假设表有三列:username,password和no_of_logins。 当用户尝试登录时,将使用查询之类的内容检查条目 user = User.query.filter_by(username=form.username.data).first() 如果密码匹配,他将继续。我想做的是计算用户登录的次数。因此,无论他何时成功登录,我都希望增加该no_of_logins字段并将其存储回用户表。我不确定如何使用SqlAlchemy运行更新查询。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.