Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask Restful,存储变量';属性';资料_Python_Flask Restful - Fatal编程技术网

Python Flask Restful,存储变量';属性';资料

Python Flask Restful,存储变量';属性';资料,python,flask-restful,Python,Flask Restful,我正在使用Flask Restful创建一个API来存储数据。Geojson允许存储“属性”,并且不限制这些参数可以是什么(可以存储颜色、昵称等)。我想使用flask restful传输和存储这些数据,但我不确定我是否可以使用“开放式”数据。当我对数据使用“封送”时,我需要准确地指定所需的字段 from flask import Flask, abort from flask.ext.restful import Api, Resource, fields, marshal, reqparse

我正在使用Flask Restful创建一个API来存储数据。Geojson允许存储“属性”,并且不限制这些参数可以是什么(可以存储颜色、昵称等)。我想使用flask restful传输和存储这些数据,但我不确定我是否可以使用“开放式”数据。当我对数据使用“封送”时,我需要准确地指定所需的字段

from flask import Flask, abort
from flask.ext.restful import Api, Resource, fields, marshal, reqparse

class GeoAPI(Resource):
def get(self, id):
    geo= session.query(data.Geo).filter_by(id= id).first()
    if (geo):
        return {'geo': marshal(geo, geo_fields)}
    else: 
        abort(404)

geo_fields = {
  "name": fields.String,
  "coordinates": fields.List(fields.List(fields.List(fields.Float))),
  "parameters": fields.String,     # String may be the wrong type, tried nested?
  'version': fields.String,
  'uri': fields.Url('geo')
}

api.add_resource(GeoAPI, '/pathopt/api/0.1/geos/<int:id>', endpoint = 'geo')
从烧瓶导入烧瓶,中止
来自flask.ext.restful导入Api、资源、字段、封送、请求解析
GeoAPI类(资源):
def get(自我,id):
geo=session.query(data.geo).filter_by(id=id).first()
如果(地理位置):
返回{'geo':封送(geo,geo_字段)}
其他:
中止(404)
地理位置字段={
“name”:fields.String,
“坐标”:fields.List(fields.List(fields.List(fields.Float)),
“参数”:fields.String,#String可能是错误的类型,是否尝试嵌套?
“版本”:字段。字符串,
“uri”:fields.Url('geo')
}
api.add_资源(GeoAPI,'/pathpt/api/0.1/geos/',endpoint='geo')
Geo的数据来自SQLAlchemy查询

是否可以声明“属性”是一个可以包含许多不同字段的对象,或者这需要我显式地声明字段名