我是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()
答案 0 :(得分:2)
如果我理解您的问题,您希望更改API的输出,以便MerchantDetail包含当前不在模型上的其他属性(place,lat,lng)。有两种方法可以做到这一点:
1。)将这些字段添加到模型中,并挂钩到您的应用程序,以便在创建新的MerchanDetail时,运行地理编码并将结果与模型一起存储。
2.。)使用RestResource(请参阅“Customizing what is returned”文档)。您的REST资源可以覆盖prepare_data()
方法来运行地理编码,并将结果存储在传出数据中。