【python – 使用SQLAlchemy批量upsert】教程文章相关的互联网学习教程文章

python – SQLAlchemy中的VALUES子句【代码】

有没有办法在SQLAlchemy中构建一个Query对象,它将等效于:SELECT * FROM (VALUES (1, 2, 3)) AS sq;根据我在文档中看到的,VALUES子句仅出现在INSERT中.解决方法:插入中的“VALUES”是标准SQL,独立的“VALUES”关键字是Postgresql的东西.在PGValues有一个快速的编译器配方(如果我有一天更改了wiki,请复制到这里):from sqlalchemy import * from sqlalchemy.ext.compiler import compiles from sqlalchemy.sql.expression import Fr...

python – Flask-SQLAlchemy检查表中是否存在行【代码】

我有一个Flask应用程序,它使用Flask-SQLAlchemy连接到MySQL数据库. 我希望能够检查表中是否存在行.我如何修改这样的查询以检查行是否存在:db.session.query(User).filter_by(name='John Smith')我在this question上找到了一个使用SQLAlchemy的解决方案,但似乎不符合Flask-SQLAlchemy的工作方式:from sqlalchemy.sql import exists print session.query(exists().where(User.email == '...')).scalar()谢谢.解决方法:由于您只...

python – 使用关键字作为变量的flask sqlalchemy查询【代码】

假设我有一个这样的模型:class User(db.Model):id = db.Column(db.Integer, primary_key=True)hometown = db.Column(db.String(140))university = db.Column(db.String(140))要获取纽约的用户列表,这是我的查询:User.query.filter_by(hometown='New York').all()要获取前往USC的用户列表,这是我的查询:User.query.filter_by(university='USC').all()要获得纽约的用户列表,以及谁去USC,这是我的查询:User.query.filter_by(homet...

python – SQLAlchemy – 将自引用关系映射为一对多(声明形式)【代码】

我想使用声明方法和SQLAlchemy映射Tag实体.标签可以有父(另一个标签). 我有:class Tag(Base):__tablename__ = 'tag'id = Column(Integer, primary_key=True)label = Column(String)def __init__(self, label, parentTag=None):self.label = label如何添加“父”关系?解决方法:您添加引用父项的ForeignKey,然后创建一个通过remote_side指定方向的关系.这是在adjacency list relationships下记录的.对于声明,你可以这样做:class T...

python – 无法在SQLAlchemy flask中设置结果对象的属性【代码】

我遇到了Flask-SQLAlchemy的问题,我可以在place_collections中设置对象的属性,但是当我想在场所中设置对象的属性时,发生了一个错误:Traceback (most recent call last):File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__return self.wsgi_app(environ, start_response)File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/werkzeug/c...

python – 在sqlalchemy中按年,月,日分组【代码】

我想要DBSession.query(Article).group_by(Article.created.month).all()但是这个查询无法使用 我如何使用SQLAlchemy执行此操作?解决方法:假设您的数据库引擎实际上支持MONTH()等函数,您可以尝试import sqlalchemy as sa DBSession.query(Article).group_by( sa.func.year(Article.created), sa.func.month(Article.created)).all()否则你可以在python中分组from itertools import groupbydef grouper( item ): return item.creat...

python – 如何在sqlalchemy中使用psycopg2.extras?【代码】

我想将大量条目(~600k)上传到PostgreSQL DB中的一个简单表中,每个条目有一个外键,一个时间戳和3个浮点数.但是,每个条目需要60 ms才能执行here所述的核心批量插入,因此整个执行需要10小时.我发现,这是executemany()方法的性能问题,但它已经在psycopg2 2.7中使用execute_values()方法解决了. 我运行的代码如下:#build a huge list of dicts, one dict for each entry engine.execute(SimpleTable.__table__.insert(),values) # arou...

python – SQLAlchemy:使用`和`和`或`时出现意外结果【代码】

我有一个通过SQLAlchemy创建的数据库“新闻”:class News(Base):__tablename__ = "news"id = Column(Integer, primary_key = True)title = Column(String)author = Column(String)url = Column(String)comments = Column(Integer)points = Column(Integer)label = Column(String)我还有一个函数f(title),它获取一个字符串并返回3个字符串变体中的一个:’good’,’maybe’或’never’.我尝试过滤行:rows = s.query(News).filter(...

python – 将复杂的SQL查询转换为SQLAlchemy【代码】

我没有想法.我现在用Google搜索了一天以上,我仍然找不到任何有用的答案. 直到现在我做了什么,我试图使用原始SQL,但没有运气.locations = db.session.query(Location, select([text('( 6371 * acos( cos( radians("53.6209798282177") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians("13.96948162900808") ) + sin( radians("53.6209798282177") ) * sin( radians( lat ) ) ) )')]).label('distance')).having('distan...

python – sqlAlchemy模型的问题【代码】

所以我有以下情况.我有一个类DataTypes具有以下结构:class DataType(Base):__tablename__ = 'DATA_TYPES'id = Column(Integer, primary_key=True)type_name = Column(String)fk_result_storage = Column(Integer, ForeignKey('DATA_STORAGES.id'))parentDataStorage = relationship("DataStorage", backref=backref("DataType", cascade="all,delete"))def __init__(self, name, resultId):self.type_name = nameself.fk_resul...

python – SQLAlchemy映射表与非ascii列到类【代码】

item = Table('Item', metadata, autoload=True, autoload_with=engine, encoding = 'cp1257')class Item(object):passfrom sqlalchemy.orm import mapper mapper(Item, item)我收到错误:line 43, in <module>mapper(Item, item) File "C:\Python27\lib\site-packages\sqlalchemy\orm\__init__.py", line 890, in mapperreturn Mapper(class_, local_table, *args, **params)File "C:\Python27\lib\site-packages\sqlalchemy\orm\...

python – SQLAlchemy使用Association为self配置多对多关系【代码】

我遇到了与模型本身配置多对多关系的问题.当我使用anormal关系配置,即不使用Association对象时,我可以配置自多对多关系. 在这种情况下,我必须在多对多表中记录一些额外的信息,所以我试图使用Association对象(PageLink)来实现关系. 这是模型.class PageLink(Base):'''Association table.'''__tablename__ = 'page_links'id = Column(Integer,primary_key=True)page_from = Column(Integer,ForeignKey('page.id'),primary_key=True)p...

python – 用于从另一个表中求值的SQLAlchemy子查询【代码】

当需要返回值(即未在WHERE中使用)时,我正在努力理解在SQLAlchemy中执行子查询的正确语法. 我正在使用声明式方法. 有两种模型使用:class ProjectInvoices(Base):InvoiceID = Column(Integer(unsigned=True), default=0, primary_key=True, autoincrement=True)MasterProjectID = Column(Integer(unsigned=True), index=True, nullable=False)ExpenseAmount = Column(Numeric(10, 2), default=0)HoursAmount = Column(Numeric(10, 2...

奇怪的python正则表达式行为 – 可能连接到unicode或sqlalchemy【代码】

我正在尝试在sqlalchemy结果中搜索一个模式(实际上是通过’like’或’op(‘regexp’)(模式)过滤,我认为这是在某处植入了正则表达式 – 字符串和搜索字符串都是在希伯来语中,大概是(也许我错了 – ) – unicode其中r =u’???’和c =u’???,????,’当我做re.search(r,c)时,我得到了SRE.match对象但当我查询数据库时:f = session.query(classname) c = f[0].color和c给了我:'\xd7\x9c\xd7\x91\xd7\x9f,\xd7\x95\xd7\xa8\xd7\x95\xd...

python – SQLAlchemy ORM教程是否有理由在其__repr__值周围放置尖括号?【代码】

SQLAlchemy ORM教程使用此类:>>> from sqlalchemy import Column, Integer, String >>> class User(Base): ... __tablename__ = 'users' ... ... id = Column(Integer, primary_key=True) ... name = Column(String) ... fullname = Column(String) ... password = Column(String) ... ... def __init__(self, name, fullname, password): ... self.name = name ... self.fullname = ful...