我对Python世界完全陌生,但我正在努力学习这种美丽的语言。但我需要你的帮助。
我有一个API,当用户想要更改有关其产品的任何数据的值时,我想要它,并使用新值更新。
例如:
我有以下产品:
然后用户请求更改例如产品的价格。
完全失去了如何做到这一点。
我更新产品的观点:
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
)
答案 0 :(得分:1)
product_to_update = Products.query.get(product_id)
如果product_id在db中,则此代码返回Products对象,如果是,则可以更新此产品的列:
product_to_update.price = 123#new price
db.session.commit()
因此,对于此特定产品,价格将会更新。