2017-01-29 2 views
0

Я совершенно новичок в мире Python, но я пытаюсь изучить этот красивый язык. Но мне нужна твоя помощь.Как я могу обновить значение объекта из ответа api

У меня есть API, и я хочу его, когда пользователь хочет изменить значение любых данных о своем продукте и обновляется с новым значением.

Например:

У меня есть следующий продукт:

  • Название = DC сноуборд ботинки
  • Описание = Привет всем, я продаю этот ботинки для сноуборда и оба являются совершенно новыми для £ 130
  • Цена = £ 130

И тогда использование r делает запрос на изменение, например, цены на продукт.

И полностью потерян в том, как это сделать.

Мое мнение для обновления продукта:

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) 

Этот код возвращает Продукты объект, если product_id в дБ, если да, то вы можете обновить столбцы этого продукта:

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

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

+1

Не нужно добавлять существующий экземпляр в сеанс. –

+0

Спасибо за информацию. – metmirr

Смежные вопросы