如何搜索在 Json 中注册为数组的日期? (PostgreSQL 是数据库。)
下面是相关代码。
##### 1. Model #####
class Business(db.Model):
__tablename__ = 'business'
id = db.Column(db.Integer, primary_key=True)
sales = db.Column(JSON)
##### 2. Data #####
id=1
sales={'time': ['10:00', '19:00']},
##### 3. View Query #####
# filter var
filter_val = request.json['filter']['value']
# basic query
bQuery = Business.query
# Filter query
if filter_val['sales']['time'][0]:
bQuery = bQuery.filter(Business.sales['time'][0].astext.ilike('%' + filter_val['sales']['time'][0] + '%'))
if filter_val['sales']['time'][1]:
bQuery = bQuery.filter(Business.sales['time'][1].astext.ilike('%' + filter_val['sales']['time'][1] + '%'))
# result query
business = bQuery.order_by(Business.id.desc()).paginate(pageCurrent, per_page=per_page, error_out=False)
过滤值:filter_val ['销售额'] ['时间'] [n]
表列的 Json 数组:business.sales ['time'] [n]
我在视图区域创建了一个过滤查询,
filter_val ['销售额'] ['时间'] [0] ~[1]
Business.sales['时间'][0]~[1]必须完全一样,但是会被搜索到。
然而,这不是我想要的日期搜索。
这就是我想要的:
- 在由 json 组成的列中的数组中搜索过滤器值。
- The desired filter search condition is
- Business.sales ['时间'] [0] > = filter_val ['销售'] ['时间'] [0]
- Business.sales [ '销售'] ['时间'] [1]
有什么好的办法吗?
我想知道一个简单的例子。谢谢。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)