2017-01-29 1 views
0

저는 파이썬 세계에 완전히 익숙하지 않지만이 아름다운 언어를 배우려고합니다. 하지만 네 도움이 필요해.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는 DB에있는 경우 객체를 반환, 그래 당신은이 제품의 열을 업데이트 할 수 있습니다 :

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

    그래서이 특정 제품에 대한 가격이 업데이 트됩니다.

    +1

    세션에 기존 인스턴스를 추가 할 필요가 없습니다. –

    +0

    정보 주셔서 감사합니다. – metmirr

    관련 문제