如何自定义Flask-peewee RESTful api?

时间:2013-09-30 23:28:15

标签: python api rest flask peewee

我是flask和python中的新手,我想自定义flask-peewee restAPI以返回(纬度,经度)而不是JSON中的MerchantDetail.Address。我需要对API对象进行更多更改,而不是直接从mysql表中获取值。

from flask_peewee.rest import RestAPI
from geopy import geocoders
from app import app # our project's Flask app
from models import MerchantDetail

# instantiate our api wrapper
api = RestAPI(app)

# register our models so they are exposed via /api/<model>/
api.register(MerchantDetail)

# g = geocoders.GoogleV3()
# place, (lat, lng) = g.geocode(MerchantDetails.Address)

# configure the urls
api.setup()

1 个答案:

答案 0 :(得分:2)

如果我理解您的问题,您希望更改API的输出,以便MerchantDetail包含当前不在模型上的其他属性(place,lat,lng)。有两种方法可以做到这一点:

1。)将这些字段添加到模型中,并挂钩到您的应用程序,以便在创建新的MerchanDetail时,运行地理编码并将结果与​​模型一起存储。

2.。)使用RestResource(请参阅“Customizing what is returned”文档)。您的REST资源可以覆盖prepare_data()方法来运行地理编码,并将结果存储在传出数据中。