小编Kon*_*zec的帖子

如何在 Flask sqlalchemy 中获取与外键链接的模型属性?

我在 Flask-Sqlalchemy 中创建了两个模型。这些模型是TicketsNamespace。两种模型都使用外键连接。我还创建了 marshmallow-sqlalchemyModelSchema定义以在 RESTful API 中使用。

class Ticket(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    namespace = db.Column(
        db.Integer, db.ForeignKey('namespace.id'), nullable=False)
    title = db.Column(db.String)
    description = db.Column(db.Text)
    status = db.Column(db.String)
    severity = db.Column(db.String)


class TicketSchema(ma.ModelSchema):
    class Meta:
        model = Ticket
        include_fk = True
Run Code Online (Sandbox Code Playgroud)
class Namespace(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)


class NamespaceSchema(ma.ModelSchema):
    class Meta:
        model = Namespace
Run Code Online (Sandbox Code Playgroud)

在我看来,我正在尝试按给定的namespace过滤所有票证。这是我的查询:

@app.route("/<string:name>", methods=["GET"])
def get_tickets_by_namespace(name):

    tickets_query = Ticket.query.join(Namespace).filter(Namespace.name == name)
    result = TicketSchema(many=True).dump(tickets_query).data

    return jsonify({"tickets": …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy marshmallow

2
推荐指数
1
解决办法
2761
查看次数