Flask-Restless order_by相关模型

时间:2014-10-08 14:06:03

标签: python postgresql flask-sqlalchemy flask-restless

我有这两个模型(使用Flask-SQLAlchemy定义):

class BankAccount(db.Model):
    id            = db.Column(db.Integer, primary_key=True)
    customer_id   = db.Column(db.Integer, db.ForeignKey('customer.id'))
    created_at    = db.Column(db.DateTime)

class Customer(db.Model):
    id            = db.Column(db.Integer, primary_key=True)
    name          = db.Column(db.String(128), index=True)

使用以下查询参数为BankAccount使用Flask-Restless API端点没有问题:

http://mywebsite.com/api/bank_account?q={"order_by":[{"field":"created_at","direction":"asc"}]}

但是,我想按客户名称订购这些结果(银行账户) - 而客户是相关模型,因此BankAccount模型中没有customer_name这样的字段。

有没有简单的方法让这个订购工作?在一些已知的Python ORM中,这可以通过使用"双下划线"来实现,如:

http://mywebsite.com/api/bank_account?q={"order_by":[{"field":"customer__name","direction":"asc"}]}

我也尝试过:

{"field":"Customer","direction":"asc"}
{"field":"customer","direction":"asc"}
{"field":"customer.name","direction":"asc"}

对于所有这些尝试,我得到了这样的答复:

{
  "message" : "Unable to construct query"
}

有关如何进行此查询的任何想法?或者使用Flask-Restless这是不可能的?谢谢!

1 个答案:

答案 0 :(得分:1)