Как я могу обновить значение объекта из ответа API
Я совершенно новичок в мире Python, но я пытаюсь выучить этот прекрасный язык. Но мне нужна твоя помощь.
У меня есть API, и я хочу его, когда пользователь хочет изменить значение любых данных о своем продукте, и он обновляется с новым значением.
Например:
У меня есть следующий продукт:
- Title = 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
)
1 ответ
Решение
product_to_update = Products.query.get(product_id)
Этот код возвращает объект Products, если product_id находится в дБ, если да, то вы можете обновить столбцы этого продукта:
product_to_update.price = 123#new price
db.session.commit()
Так что для этого конкретного продукта цена будет обновляться.