【python-使用塔和SQLAlchemy创建表】教程文章相关的互联网学习教程文章

python – SQLAlchemy反射:如何查询特定列的数据?【代码】

使用SQLAlchemy反射,如何查询特定列中的数据?testtable = Table('member', Metadata, autoload=True)def TestConnection():data = NoneloopCounter = 0 for data in session.query(testtable).filter_by(is_active=1, is_deleted=0): print(loopCounter + 1, data)loopCounter += 1if data is None:raise Exception ("Could not find any data that matches your query") else:print("It worked!")TestConnection()上面的查...

python – sqlalchemy多态多对多【代码】

我希望以下列方式获得属于父类的对象列表:class A(object):__tablename__ = 'a'id = Column(Integer, primary_key=True)collection = relationship(.....) # contains an ordered list of [B, C, B, B, C, C, C, B, C, C, ...];class B(object):__tablename__ = 'b'id = Column(Integer, primary_key=True)class C(object):__tablename__ = 'c'id = Column(Integer, primary_key=True)SQLAlchemy examples文件夹有一个简单的多对一...

python – 使用SQLAlchemy Integer字段创建timedelta对象进行过滤【代码】

我有一个名为Item的对象.它有2个字段:一个名为“created_on”的日期时间行和一个名为“days”的整数行. 我想查询很多天前“天”创建的所有对象. 以下是我认为应该如何做的事情:now = utcnow() session.query(Item).filter(Item.created_on + Interval(timedelta(days=Item.days)) <= now)但是我无法像这样创造一个timedelta.我收到这个错误:TypeError: unsupported type for timedelta minutes component: InstrumentedAttribut...

python – sqlalchemy:alembic批量插入失败:’str’对象没有属性’_autoincrement_column’【代码】

我的模型看起来像class Category(UserMixin, db.Model):__tablename__ = 'categories'uuid = Column('uuid', GUID(), default=uuid.uuid4, primary_key=True,unique=True)name = Column('name', String, nullable=False)parent = Column('parent', String, nullable=False)created_on = Column('created_on', sa.types.DateTime(timezone=True),default=datetime.utcnow())__table_args__ = (UniqueConstraint('name', 'parent'),)...

python – 强制对象在sqlalchemy中是“脏”的【代码】

有没有办法强制sqlalchemy映射的对象被认为是脏的?例如,鉴于sqlalchemy的Object Relational Tutorial的背景,证明了问题,a=session.query(User).first() a.__dict__['name']='eh' session.dirty高产,IdentitySet([])我正在寻找一种方法来强迫用户进入一个肮脏的状态. 出现此问题是因为使用sqlalchemy映射的类控制了属性getter / setter方法,这会阻止sqlalchemy注册更改.解决方法:我最近遇到了同样的问题而且并不明显. 对象本身并不...

python – 我可以使用sqlalchemy在RowProxy中分配值吗?【代码】

当我想在网上显示一些数据时,数据需要化妆,我不知道如何实现,这里是代码:from sqlalchemy import create_engineengine = create_engine('mysql://root:111@localhost/test?charset=utf8') conn = engine.connect()articles = conn.execute('SELECT * FROM article') articles = articles.fetchall()for r in articles:r['Tags'] = r['Keywords']它提示:’RowProxy’对象不支持项目分配. 我该怎么办? 表格“文章”包含“关键字”...

python – SQLAlchemy:从db.Model获取关系【代码】

我需要获取模型属性的列表,这些属性实际上是关系(也就是说,它们是由relationship()创建的). 假设我在模型中有一个模型Foo:class Thing(db.Model):id = db.Column(...)bar_id = db.Column(...)foo_id = db.Column(...)foo = db.relationship('Foo')bar = db.relationship('Bar')后来,我想采用models.Thing并得到一个关系属性列表,即[‘foo’,’bar’]. 目前我正在检查dir(models.Thing)指示的每个属性,该属性恰好是sqlalchemy.orm....

python – SQLAlchemy查询,按关系加入关系和顺序【代码】

我有两个SQLAlchemy模型设置如下:############## # Post Model # ############## class Post(db.Model):id = db.Column(db.Integer, primary_key = True)title = db.Column(db.String(250))content = db.Column(db.String(5000))timestamp = db.Column(db.Integer)author_id = db.Column(db.Integer, db.ForeignKey('user.id'))likes = db.relationship('Like', backref = 'post', lazy = 'dynamic')############### # Likes Mode...

使用sqlalchemy的python pandas to_sql:如何加快导出到MS SQL?【代码】

我有一个大约155,000行和12列的数据帧.如果我使用dataframe.to_csv将其导出到csv,则输出为11MB文件(即时生成). 但是,如果我使用to_sql方法导出到Microsoft SQL Server,则需要5到6分钟!没有列是文本:只有int,float,bool和日期.我见过ODBC驱动程序设置nvarchar(max)的情况,这会减慢数据传输速度,但这不是这种情况. 有关如何加快出口流程的任何建议?导出11 MB数据需要6分钟,这使得ODBC连接几乎无法使用. 谢谢! 我的代码是:import...

python – 加入一个条件,急切地加载sqlalchemy orm【代码】

from sqlalchemy.orm import subqueryload, joinedload, eagerload from sqlalchemy import Column, DateTime, String, Integer, ForeignKey, func,Float, sql from sqlalchemy.orm import relation from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engineengine = create_engine('sqlite:///testdb.sqlite') engine.echo = True Base = declara...

python – SQLAlchemy:自动生成旧数据库的类定义

我如何自动生成SQLAlchemy的类定义,包括关系和backref,就像Django-ORM与manage.py inspectdb一样?解决方法:您可以使用python包sqlacodegen来实现此目的. sqlacodegen将检查数据库并生成SQLAlchemy样式类定义以供将来引用,并将它们存储在文件中. https://pypi.python.org/pypi/sqlacodegen 用法: >点子安装sqlacodegen>从命令行开始:sqlacodegen [连接字符串] [选项] 生成的类定义在很大程度上是正确的,包括索引定义和约束(外键)...

python – 如何将列表绑定到sqlalchemy中自定义查询中的参数?【代码】

我出于性能原因使用这个sqlsql_tmpl = """delete from Data where id_data in (:iddata) """params = { 'iddata':[1, 2,3 4],}# session is a session object from sqlalchemyself.session.execute(text(sql_tmpl), params) 但是我得到了一个例外NotSupportedError: (NotSupportedError) ('Python type list not supported. param=1', 'HY097') 是否有任何解决方法可以允许我将列表绑定到’in’子句的参数?解决方法:一个旧...

python – sqlalchemy现有的数据库查询【代码】

我使用SQLAlchemy作为python项目的ORM.我创建了几个模型/架构,它工作正常.现在我需要查询现有的MySQL数据库,不需要插入/更新select语句. 如何围绕此现有数据库的表创建包装器?我已经简要介绍了sqlalchemy文档和SO,但找不到任何相关内容.所有建议执行方法,我需要编写原始sql查询,而我想使用SQLAlchemy查询方法,就像我使用SA模型一样. 例如,如果现有的db具有表名User,那么我想使用dbsession查询它(只有select操作,可能是使用join)解...

python – 哪个SQLAlchemy列类型应该用于二进制数据?【代码】

我想将音频文件存储在我的数据库中.我知道,例如,字符串将使用db.String,整数db.Integer,但不会使用音频数据.在SQLAlchemy中使用什么数据类型来存储这种类型的数据?class Audio(db.Model):__tablename__ = 'audio'id = db.Column(db.Integer, primary_key=True)timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)author_id = db.Column(db.Integer, db.ForeignKey('users.id'))title = db.Column(db.String...

python – 在SQLAlchemy中,我可以从现有的ODBC连接创建引擎吗?【代码】

我正在一个我获得ODBC连接的环境中工作,该连接是使用我无法访问的凭据创建的(出于安全原因).但是我想使用SQLAlchemy访问底层数据库 – 所以我的问题是,我可以将这个ODBC连接传递给类似create_engine的东西,或者以一种看起来像SQLAlchemy连接的方式包装它吗? 作为一个补充问题(并且乐观地假设第一部分可以满足),我可以告诉SQLA用于底层RDBMS的方言是什么? 谢谢解决方法:是的你可以:from sqlalchemy import create_engine from sq...