1

我的烧瓶/不安的应用程序中有两个模型:蓝图和工作负载蓝图应该有一个工作负载的集合。

以下是模型:

class Blueprint(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(120), unique=True)
    description = db.Column(db.String(250), unique=True)


class Workload(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(120), unique=True)
    description = db.Column(db.String(250), unique=True)
    image = db.Column(db.String(120), unique=True)
    flavor = db.Column(db.String(120), unique=True)
    blueprint_id = db.Column(db.Integer, db.ForeignKey('blueprint.id'))
    blueprint = db.relationship(Blueprint, backref='workloads')


db.create_all()

# Create the Flask-Restless API manager.
manager = flask.ext.restless.APIManager(app, flask_sqlalchemy_db=db)

# Create API endpoints, which will be available at /api/<tablename> by
# default. Allowed HTTP methods can be specified as well.
manager.create_api(Blueprint, methods=['GET', 'PUT', 'POST', 'DELETE'])
manager.create_api(Workload, methods=['GET', 'PUT', 'POST', 'DELETE'])

使用 curl 或 python 将 Workload 实例添加到 Blueprint 的“workloads”集合的正确语法是什么?

4

1 回答 1

1

终于找到了答案:小时候向蓝图添加工作负载: curl --request PATCH -H "Content-Type: application/json" -d '{ "blueprint": { "id": 1 } }' http: //127.0.0.1:5000/api/workload/1 鉴于上面的模型定义,这正是需要的。然后,当我们运行 curl -i -X GET -H "Accept: application/json" http://127.0.0.1:5000/api/blueprint/1 时,我们会得到一个特定的蓝图以及属于它的工作负载列表

于 2015-01-28T04:30:32.993 回答