0

我对 Python 世界完全陌生,但我正在努力学习这种美丽的语言。但我需要你的帮助。

我有一个 API,当用户想要更改有关其产品的任何数据的值时,我想要它,并使用新值进行更新。

例如:

我有以下产品:

  • 标题 = DC 滑雪板靴
  • 描述 = 大家好,我正在出售这款滑雪板靴,都是全新的,售价 130 英镑
  • 价格 = 130 英镑

然后用户提出更改例如产品价格的请求。

并且完全迷失在如何做到这一点。

我对更新产品的看法:

import app.utils.responses as resp
from app.api import api
from app.database import db
from app.models.products import Products, ProductsSchema
from app.utils.responses import m_return

@api.route('/product/<product_id>', methods=['PATCH'])
def update_product(product_id):
    # Get products data
    product_to_update = Products.query.get(product_id)
    Products.id = product_to_update
    result = Products.id

    db.session.merge(result)
    db.session.commit()

    # Products schema for some fields.
    products_schema = ProductsSchema(
    only=('id', 'title', 'description', 'post_code', 'product_name',     'is_available', 'created', 'price'))

    # Return item updated.
    return m_return(
        http_code=resp.PRODUCT_UPDATED_SUCCESSFULLY['http_code'],
        message=resp.PRODUCT_UPDATED_SUCCESSFULLY['message'],
        value=products_schema.dump(result).data
    )
4

1 回答 1

0
product_to_update = Products.query.get(product_id)

如果 product_id 在 db 中,则此代码返回 Products 对象,如果是,则您可以更新此产品的列:

product_to_update.price = 123#new price
db.session.commit()

所以对于这个特定的产品,价格将会更新。

于 2017-01-29T19:19:21.920 回答