烧瓶不安问题与查询

时间:2020-01-17 17:11:25

标签: flask flask-restless

我是不熟悉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

0 个答案:

没有答案