服务器端代码,用于向flask-restless客户端公开数据模型
项目描述
目的
这个库是两段代码中的一段。它实现了flask-restless客户端的服务器部分。它所做的就是允许您以方便的JSON格式呈现您的数据模型。然后,flask-restless-client读取此JSON格式,反过来使用它来构建自身,允许通过HTTP透明访问数据模型。
快速入门
启用此功能就像在flask-restless中注册SQLAlchemy模型一样简单。您需要做的只是从库中导入DataModel类,并使用它来注册您的API。
import flask
import flask_restless
from flask_sqlalchemy import SQLAlchemy
from flask_restless_datamodel import DataModel
from my_models import Person, Computer, db
app = flask.Flask(__name__)
db = SQLAlchemy(app)
# Create a datamodel instance to register later
data_model = DataModel(manager)
manager = flask_restless.APIManager(app, flask_sqlalchemy_db=db)
manager.create_api(Person, methods=['GET'], include_columns=['name'])
manager.create_api(Computer, methods=['GET'], collection_name='compjutahs', exclude_columns=['name'])
manager.create_api(data_model, methods=['GET'])
# In case you want to expose the methods and properties as well
data_model.register_rpc_blueprint()
这将公开一个端点 https://:5000/flask-restless-datamodel
,它将产生以下结果
{
"Computer":{
"attributes":{
"id":"integer",
"owner_id":"integer",
"owner_name":"unicode",
"purchase_time":"datetime",
"vendor":"unicode"
},
"collection_name":"compjutahs",
"methods":{},
"pk_name":"id",
"relations":{
"owner":{
"backref":"computers",
"foreign_model":"Person",
"local_column":"owner_id",
"relation_type":"MANYTOONE"
},
"peers":{
"foreign_model":"Computer",
"is_proxy":true,
"relation_type":"MANYTOONE"
}
}
},
"Person":{
"attributes":{
"name":"unicode"
},
"collection_name":"person",
"methods":{},
"pk_name":"id",
"relations":{
}
}
}
此结果将用于客户端代码动态构建模型。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
flask-restless-datamodel-0.3.0.tar.gz (16.2 kB 查看哈希值)
构建分发
关闭
flask-restless-datamodel-0.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0eda27674f880da69401f104c580694fb5dc129d2717644806728420582e9f77 |
|
MD5 | 74e579bb4f8e638c7fe6b4afd3d6de83 |
|
BLAKE2b-256 | dd56f911e651e3f339a6683449b82e61a32eb2ef35aa75c6399ca77439a6a6d2 |
关闭
flask_restless_datamodel-0.3.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5999e1a14bed6fd1037d7afb10f1af0c5b0f9c086fc87e49f244e75eb03247ad |
|
MD5 | f4b2900d94498f52085d7f8b818ee60c |
|
BLAKE2b-256 | d3420957e49b1a5d37cbe7d1d083b6595cdf2f8adfcb43fa0e1893560567add5 |