Я новичок в flask_restless для создания API, и я застрял в создании запроса для вложенных данных. Я делаю все шаги в соответствии с официальной документацией, но когда я хочу построить запрос на вложенный вызов, поданный с использованием следующей конструкции Поле ___ nameOfField => каждый раз, когда я получаю ошибку
Невозможно построить query
Хотя я гуглил и искал здесь на stackoverflow, я все еще не могу понять, почему он не работает. Может кто-нибудь объяснить, что я делаю не так и как заставить это работать. Заранее большое спасибо.
Мне нужно создать запрос и показать данные пользователя, которые имеют computers.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