Python 如何通过检查两个元素在SQLAlchemy中进行升级
如何通过检查两个变量将数据上传到postgress? 使用此代码:Python 如何通过检查两个元素在SQLAlchemy中进行升级,python,postgresql,sqlalchemy,upsert,Python,Postgresql,Sqlalchemy,Upsert,如何通过检查两个变量将数据上传到postgress? 使用此代码: query = insert(models.ratings).values(article_id=article_id, user_id=user_id, rating=rating.rating, description=rating.description)\ .on_conflict_do_update( index_elements=[models.ratings.c.article_id, mo
query = insert(models.ratings).values(article_id=article_id, user_id=user_id, rating=rating.rating, description=rating.description)\
.on_conflict_do_update(
index_elements=[models.ratings.c.article_id, models.ratings.c.user_id],
index_where=and_(models.ratings.c.article_id == article_id, models.ratings.c.user_id == user_id),
set_=dict(article_id=article_id, user_id=user_id, rating=rating.rating, description=rating.description)
)
我得到一个错误:
there is no unique or exclusion constraint matching the ON CONFLICT specification
正如错误消息所说,如果要在冲突上使用
,
在(article\u id,user\u id)
上使用,则该表需要具有包含这两列的“唯一”约束(或索引(?)。