草庐IT

sqlalchemy-migrate

全部标签

python - 将一个类映射到 SQLAlchemy 中的多个表

#!/usr/bin/envpython#-*-coding:utf-8-*-#login_frontend.py"""Python2.7.3Cherrypy3.2.2PostgreSQL9.1psycopy22.4.5SQLAlchemy0.7.10"""我在一个Python/SQLAlchemy类中连接四个表时遇到问题。我正在尝试这个,所以我可以迭代这个类的实例,而不是命名元组,它是我通过ORM连接表获得的。为什么这一切?因为我已经开始那样了,而且我走得太远了,不能离开它。此外,它必须是可能的,所以我想知道它是如何完成的。对于这个项目(cherrypyweb-frontend),我

python - 为什么要使用 SQLAlchemy?编码很方便吗?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter为指导。8年前关闭。由于非常熟悉用Python编写简单的SQL,我还没有意识到使用SQLAlchemy或其他ORM会带来什么好处。它是为那些不喜欢程序中的SQL的人设计的吗?或者它让你的脚本跨越不同类型的数据库?或者它让你的脚本更加Pythonic?或者它对于处理底层数据库的某些任务是否非常方便,并且它会自动为您完成很多琐碎的事情,因此您只需编写2-3行调用SQLAlchemy

python - 如何使用 SQLAlchemy 使用 SELECT COUNT(*) 计算行数?

我想知道是否可以在SQLAlchemy中生成SELECTCOUNT(*)FROMTABLE语句,而无需使用execute()明确要求它。如果我使用:session.query(table).count()然后它会生成类似的东西:SELECTcount(*)AScount_1FROM(SELECTtable.col1ascol1,table.col2ascol2,...fromtable)这在带有InnoDB的MySQL中要慢得多。我正在寻找一种不需要表具有已知主键的解决方案,如GetthenumberofrowsintableusingSQLAlchemy中所建议的那样。.

python - SQLAlchemy DateTime 时区

SQLAlchemy的DateTime类型允许使用timezone=True参数将非原始日期时间对象保存到数据库中,并将其原样返回。有没有办法修改SQLAlchemy传入的tzinfo的时区,例如它可能是UTC?我意识到我可以使用default=datetime.datetime.utcnow;然而,这是一个天真的时间,即使我使用了timezone=True,它也会很乐意接受传递一个天真的基于本地时间的日期时间的人,因为它使本地或UTC时间变得不天真而没有一个基本时区来规范它。我已经尝试(使用pytz)使datetime对象不幼稚,但是当我将其保存到数据库时,它又变得幼稚。请注意dat

python - Flask SQLAlchemy 查询具有 "not equals"的列

我可以在我的Seat表中查询所有未分配邀请的座位:seats=Seat.query.filter_by(invite=None).all()但是,当查询分配了邀请的所有席位时,我收到NameError:seats=Seat.query.filter_by(invite!=None).all()NameError:name'invite'isnotdefined这是我的Seat类:classSeat(db.Model):id=db.Column(db.Integer,primary_key=True)invite_id=db.Column(db.Integer,db.ForeignKey

python - Sqlalchemy 连接超时

我正在使用sqlalchemy和MySQL,并使用sql表达式执行查询。当执行多个查询时,它会超时。我找到了answer但我不清楚。请问有谁可以帮帮我吗?TimeoutError:QueuePoollimitofsize5overflow10reached,connectiontimedout,timeout30 最佳答案 每当您在代码中创建新session时,请务必关闭它。只需调用session.close()当我收到此错误时,我以为我正在关闭所有session,但我仔细查看后发现有一种新方法我没有。以该方法关闭session为我

python - 我应该创建映射器对象还是使用 SQLAlchemy 中的声明性语法?

有两种(三种,但我不计算Elixir,因为它不是“官方”)方法来定义具有SQLAlchemy的持久对象:ExplicitsyntaxformapperobjectsfromsqlalchemyimportTable,Column,Integer,String,MetaData,ForeignKeyfromsqlalchemy.ormimportmappermetadata=MetaData()users_table=Table('users',metadata,Column('id',Integer,primary_key=True),Column('name',String),)cl

python - 如何分析 SQLAlchemy 支持的应用程序?

有人有分析Python/SQLAlchemy应用程序的经验吗?找出瓶颈和设计缺陷的最佳方法是什么?我们有一个Python应用程序,其中数据库层由SQLAlchemy处理。该应用程序使用批处理设计,因此许多数据库请求是按顺序在有限的时间跨度内完成的。目前运行时间有点太长,因此需要进行一些优化。我们不使用ORM功能,数据库是PostgreSQL。 最佳答案 有时只是简单的SQL日志记录(通过python的日志记录模块或通过create_engine()上的echo=True参数启用)可以让您了解事情需要多长时间.例如,如果您在SQL操作

sqlalchemy - 如何使用声明式创建一对一关系

我有两个表,foo和bar,我希望foo.bar_id链接到bar.问题是这是一种单向的一对一关系。bar必须对foo一无所知。对于每个foo,将只有一个bar.理想情况下,在选择foo后,我可以执行以下操作:myfoo.bar.whatever=5如何做到这一点? 最佳答案 文档explainsthisnicely:classParent(Base):__tablename__='parent'id=Column(Integer,primary_key=True)child=relationship("Child",uselist

python - Django 1.8 和 syncdb/migrate 的 auth_user 错误

当升级到Django1.8(使用zc.buildout)并运行syncdb或migrate时,我收到以下消息:django.db.utils.ProgrammingError:关系“auth_user”不存在我的一个模型包含django.contrib.auth.models.User:user=models.ForeignKey(User,related_name='%(app_label)s_%(class)s_user',blank=True,null=True,editable=False)降级到Django1.7可以消除该错误。我必须在Django1.8中以不同的方式包含Us