首页 > 解决方案 > 尝试使用 Python 3.7 更新 Dynamodb 时出现错误“无法更新:一元 + 的错误操作数类型:'str'”

问题描述

我正在尝试在 Python3.7 中运行以下更新:

 response = table.update_item(
            Key={
                "receipt_number": + receiptnumber,
                "update_date": + str(update_date)
            },
            UpdateExpression="set receipt_status=:new_receipt_status",
            ExpressionAttributeValues={
                ":new_receipt_status": +receiptstatus_val
            },
            ReturnValues="UPDATED_NEW"
        )

update_date 的值为“20210322”

运行此更新时出现错误“无法更新:一元 + 的错误操作数类型:'str'”

我试图在没有 str() 函数的情况下传递它,但目前没有解决方案。感谢任何帮助。

标签: pythonpython-3.xamazon-dynamodbboto3

解决方案


它应该看起来像这样。在 dynamodb 中使用 update_item 时不需要 + 操作数

response = table.update_item(
            Key={
                "receipt_number": receiptnumber,
                "update_date": update_date
            },
            UpdateExpression="set receipt_status=:new_receipt_status",
            ExpressionAttributeValues={
                ":new_receipt_status": receiptstatus_val
            },
            ReturnValues="UPDATED_NEW"
        )

推荐阅读