2

根据文档,搜索查询应如下所示:

GET /api/person?q={"filters":[{"name":"age","op":"ge","val":10}]}

如何比较日期?我试过了:

GET /api/person?q={"filters":[{"name":"date","op":"<=","val":"1/20/2015"}]}

这没有结果,即使有些日期早于 2015 年 1 月 20 日。我试过了:

GET /api/person?q={"filters":[{"name":"date","op":">=","val":"1/20/2015"}]}

这将恢复所有结果,即使是 2015 年 1 月 20 日之前的结果。

这是用户模型:

class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.DateTime)
    type =db.Column(db.String(255))
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    active= db.Column(db.Boolean())
    activated_at = db.Column(db.DateTime())
    roles = db.relationship('Role', secondary=roles_users,
                            backref=db.backref('users', lazy='dynamic'))

查询日期的正确方法是什么?

4

1 回答 1

3

大卫主义是绝对正确的,我不应该说 JSON 日期时间——JSON 本身没有表示日期/日期时间格式的方法——它在通信的发送者/接收者端识别“嘿,我期待这里有个约会,这看起来像个约会,我会试着把它当作一个约会”。

通常,大多数人使用 ISO 8601 作为 JSON ( 2014-10-23T18:25:43.511Z) 中的日期时间表示,而 Flask-Restless 似乎用于将一些dateutil.parse传入的值解析回日期时间字段——但奇怪的是,不是 GET 字段。

因此,看起来代表您的日期时间值的字符串需要与您的数据库所期望的相匹配——平均而言,这将是一种 ISO 8601 格式。

于 2015-01-10T15:53:23.723 回答