Как я могу обновить значение объекта из ответа 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()

Так что для этого конкретного продукта цена будет обновляться.

Другие вопросы по тегам