0

我是烧瓶和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()
4

1 回答 1

2

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

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

2.) 使用 RestResource(请参阅“自定义返回的内容”文档)。您的 REST 资源可以覆盖prepare_data()运行地理编码的方法,并将结果存储在传出数据中。

于 2013-10-01T16:28:53.860 回答