Como pesquiso datas registradas como uma matriz no Json?

Como pesquiso datas registradas como uma matriz no Json? (O PostgreSQL é DB.) Abaixo está o código relevante.

##### 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)

Valor do filtro: filter_val ['sales'] ['time'] [n]

Json array de colunas da tabela: business.sales ['time'] [n]

Eu criei uma consulta de filtro na área de exibição,

filter_val ['vendas'] ['tempo'] [0] ~ [1]

Business.sales ['time'] [0] ~ [1] deve ser exatamente o mesmo, mas será pesquisado.

No entanto, essa não é a data que eu quero.

Aqui está o que eu quero:

Procure um valor de filtro em uma matriz em uma coluna composta por json.A condição de pesquisa de filtro desejada éBusiness.sales ['time'] [0]> = filter_val ['sales'] ['time'] [0]Business.sales ['sales'] ['time'] [1] <= filter_val ['sales'] ['time'] [1]

Existe um bom caminho? Eu quero conhecer um exemplo simples. Obrigado.

questionAnswers(0)

yourAnswerToTheQuestion