草庐IT

SQLALCHEMY_TRACK_MODIFICATIONS

全部标签

python - 在 session 提交时更改对象的属性 - Flask SQLAlchemy

我想在使用Falsk-SQLAlachemy将对象插入数据库之前更改对象的属性。我尝试使用before_models_committed信号,但它似乎已损坏,所以我尝试改用models_commited(并重新提交更改),但出现以下错误:InvalidRequestError:Thissessionisin'committed'state;nofurtherSQLcanbeemittedwithinthistransaction.代码如下:fromappimportdbfromappimportappfromflask.ext.sqlalchemyimportmodels_commit

python - 使用 sqlalchemy 加载 UnicodeDecodeError

我正在使用sqlalchemy查询MySQL数据库并收到以下错误:UnicodeDecodeError:'utf8'codeccan'tdecodebytesinposition498-499:unexpectedendofdata表中的一列被定义为Unicode(500)所以这个错误提示我有一个条目被截断了,因为它超过了500个字符。有没有办法处理这个错误并仍然加载条目?有没有办法找到错误的条目并将其删除,而不是尝试逐个(或分批)加载每个条目直到我收到错误? 最佳答案 简而言之,你应该改变:Unicode(500)到:Unicod

python - 由于查询调用的自动刷新导致的 SQLAlchemy OperationalError

我在数据库中有一个表,它是通过SQLAlchemy创建和访问的:我使用Flask-SQLAlchemy向它添加一条记录,如下所示:...content=request.form['content']date=datetime.today()post=Post(date,content)db.session.add(post)db.session.commit()...这条记录很好地添加到表中。执行该代码后,我立即查询另一个表:userID=session['userID']posts=db.session.query(Post).filter_by(userID=userID).cou

python - 混合 Tornado 和sqlalchemy

我正在尝试编写一个在某些请求处理程序中使用sqlalchemy的TornadoWeb应用程序。这些处理程序有两个部分:一个需要很长时间才能完成,另一个使用sqlalchemy并且速度相对较快。我想让请求的慢速部分异步,而不是sqlalchemy部分。我可以执行类似以下代码的操作并且安全吗?classExampleHandler(BaseHandler):asyncdefpost(self):loop=asyncio.get_event_loop()awaitloop.run_in_executor(...)#veryslow(nosqlalchemyhere)withself.db_s

python - SQLAlchemy 如何使用声明映射一对一关系的单列

这与这个问题有关convertingtodeclarativemethodandcolumnproperty,从未得到答复。我们正在尝试在现有模式(我们无法更改)上建立一个Flask-SQLAlchemy项目,并决定使用声明性语法,以便我们可以以一种合理的方式将类组织到多个文件中以进行维护。这适用于我们的大多数关系,除了我们称之为的东西,因为缺少更好的术语,属性表。这些是一些主要对象的一对一叶表,通常包含某种属性的受控词汇表。ORM的目标是映射所有这些(其中有很多)类型的表,就好像它们是主表的属性一样。这是一个包含两个表的SQA示例:classMarkerType(db.Model):

python sqlalchemy 不同的列值

我的SQLite数据库中有6个表,每个表有6列(Date、user、NormalA、specialA、contact、remarks)和1000多行。我如何使用sqlalchemy对日期列进行排序以查找重复日期并删除该行? 最佳答案 假设这是您的模型:classMyTable(Base):__tablename__='my_table'id=Column(Integer,primary_key=True)date=Column(DateTime)user=Column(String)#donotreallycareofcolumns

python - SQLAlchemy 可以更新表结构吗?

我正在开发我的第一个pylons+SQLAlchemy应用程序(我对这两个都是新手)。当我改变对表结构的想法时,我希望有一个与metadata.create_all()类似的函数,它检查是否有新的列定义并在数据库中创建它们。有这样的功能吗? 最佳答案 我(还)不是SQLAlchemy用户,但我听说过关于sqlalchemy-migrate的好消息.您遇到的问题的一般术语是“模式迁移”,我确定googlesearch包含这些条款将进一步帮助您。 关于python-SQLAlchemy可以更

python - sqlalchemy,使用检查约束

我刚开始使用sqlalchemy,我想在我的一个专栏上设置一个检查约束。我有一个名为startTime和endTime的列,我想确保endTime>startTime。fromsqlalchemyimportColumn,Integer,String,ForeignKey,Dateimportmodels.BaseclassSession(Base):__tablename__='sessions'sid=Column(Integer,primary_key=True)uid=Column(Integer,ForeignKey('users.uid'),nullable=False)s

python - 如何将 SQLAlchemy 与类属性(和属性)一起使用?

假设我正在制作一款包含元素的游戏(想想Minecraft、CS:GO武器、LoL和Dota元素等)。游戏中可能有大量相同的元素,但细节差异很小,例如元素的状况/耐用性或剩余弹药量:player1.give_item(Sword(name='Sword',durability=50))player2.give_item(Sword(name='Sword',durability=80))player2.give_item(Pistol(name='Pistol',ammo=12))但是由于我不想每次都为我的剑和手枪命名(因为名称总是相同的),并且我希望创建新的元素类别非常容易,我想我应该

python - 什么是查看 SQLAlchemy 事务的一般好方法,包括经过身份验证的用户等?

我正在使用SQLAlchemy的声明式扩展。我想要对表日志的所有更改,包括多对多关系(映射表)中的更改。每个表都应该有一个单独的“日志”表,具有相似的架构,但有额外的列指定何时进行更改、谁进行了更改等。我的编程模型是这样的:row.foo=1row.log_version(username,change_description,...)理想情况下,系统不允许在不调用row.log_version的情况下提交事务。想法? 最佳答案 一个问题太多,所以对所有问题的完整答案不适合StackOverflow的答案格式。我会尽量简短地描述提示