我是不熟悉flask_restless来创建API的,而我一直想查询嵌套数据。我正在按照官方文档进行所有步骤,但是每当我遇到错误
时,当我想使用以下构造方法 Field ___ nameOfField =>对嵌套的调用进行构建查询时,无法构造查询
尽管我用Google搜索并在此处搜索stackoverflow,但我仍然不明白为什么它不起作用。有人可以解释我在做什么错以及如何使它工作。提前谢谢。
我需要建立查询并显示具有计算机的用户数据。owner_id== 1
我的查询
{"filters":[{"name":"computers__owner_id", "op":"eq", "val":1}]}
这是最简单的代码(全部来自官方文档)
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import flask_restless
from flask_restless import APIManager
app = Flask(__name__)
app.config['DEBUG'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:root@localhost:5883/api?charset=utf8mb4'
db = SQLAlchemy(app)
class Person(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(120), unique=True)
birth_date = db.Column(db.Date)
class Computer(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(120), unique=True)
vendor = db.Column(db.String(120))
purchase_time = db.Column(db.DateTime)
owner_id = db.Column(db.Integer, db.ForeignKey('person.id'))
owner = db.relationship('Person', backref=db.backref('computers',
lazy='dynamic'))
db.create_all()
manager = APIManager(app, flask_sqlalchemy_db=db)
manager.create_api(Person, methods=['GET', 'POST', 'DELETE'])
manager.create_api(Computer, methods=['GET'])
if __name__ == "__main__":
app.run(debug=True)
JSON对象
{
"num_results": 2,
"objects": [
{
"birth_date": null,
"computers": [
{
"id": 1,
"name": "c_dima",
"owner_id": 1,
"purchase_time": null,
"vendor": null
},
{
"id": 3,
"name": "c_none",
"owner_id": 1,
"purchase_time": null,
"vendor": null
}
],
"id": 1,
"name": "Dima"
},
{
"birth_date": null,
"computers": [
{
"id": 2,
"name": "c_olya",
"owner_id": 2,
"purchase_time": null,
"vendor": null
}
],
"id": 2,
"name": "Olya"
}
],
"page": 1,
"total_pages": 1