Python 如何通过检查两个元素在SQLAlchemy中进行升级

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

如何通过检查两个变量将数据上传到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, 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)
上使用
,则该表需要具有包含这两列的“唯一”约束(或索引(?)。