2017-01-29 8 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はデシベルでYESである場合、あなたはこの製品の列を更新することができれば製品は、オブジェクトを返します。

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

この特定の製品については、価格が更新されます。

+1

セッションに既存のインスタンスを追加する必要はありません。 –

+0

情報ありがとうございます。 – metmirr

関連する問題