我想在使用sqlalchemy方面获得帮助。
我有一个带有主键和复合唯一约束的模型类,
class Article(Base):
"""maps `article` table."""
__tablename__ = "article"
__table_args__ = (
sqla.UniqueConstraint(
'source', 'sourceId', name='sourceIdUniqueConstraint'),
Base.__table_args__)
... ...
... ...
... ...
source = sqla.Column("source", sqla.Enum(ArticleSource))
sourceId = sqla.Column("sourceId", sqla.String(255))
我将在每个特定的间隔运行刮板批处理脚本,并且插入逻辑将具有在先前的运行中已经插入到我的MySQL数据库中的重复项。
self.session.add(article.data)
因此,我想用INSERT IGNORE
插入文档,因为我的目标是避免在session.commit
期间出现重复输入错误。
本文模型实例是基于sqlalchemy-marshmallow Schema构建的,由于我围绕模型实例构建了一些验证逻辑,因此我想避免直接使用JSON来执行查询。
如果有更好的做法来解决我的问题,请赐教。
谢谢。