@@ -135,6 +135,47 @@ Following operators are supported -
135135
136136>  Note -  `i`  stands for  `case insensitive` .
137137
138+ -  # ### any
139+ 140+  ```python 
141+  filter_by = [{
142+  ' field_name'  : ' User.addresses'  ,
143+  ' operator'  : ' any'  ,
144+  ' field_value'  : {
145+  ' field_name'  : ' Address.email_address'  ,
146+  ' operator'  : ' equals'  ,
147+  ' field_value'  : ' bar' 
148+  }
149+  }]
150+  ``` 
151+  is  translated to
152+ 153+  ```python 
154+  query.filter(User.addresses.any(Address.email_address ==  ' bar'  ))
155+ 156+  #  also takes keyword arguments:
157+  query.filter(User.addresses.any(email_address = ' bar'  ))
158+  ``` 
159+ 160+ -  # ### has
161+ 162+  ```python 
163+  filter_by = [{
164+  ' field_name'  : ' Address.user'  ,
165+  ' operator'  : ' has'  ,
166+  ' field_value'  : {
167+  ' field_name'  : ' User.name'  ,
168+  ' operator'  : ' equals'  ,
169+  ' field_value'  : ' bar' 
170+  }
171+  }]
172+  ``` 
173+  is  translated to
174+ 175+  ```python 
176+  query.filter(Address.user.has(name = ' ed'  ))
177+  ``` 
178+ 138179-  # ### equals
139180
140181 ```python 
@@ -296,47 +337,6 @@ Following operators are supported -
296337 query.filter(User.name.match(' wendy'  ))
297338 ``` 
298339
299- -  # ### any
300- 301-  ```python 
302-  filter_by = [{
303-  ' field_name'  : ' User.addresses'  ,
304-  ' operator'  : ' any'  ,
305-  ' field_value'  : {
306-  ' field_name'  : ' Address.email_address'  ,
307-  ' operator'  : ' equals'  ,
308-  ' field_value'  : ' bar' 
309-  }
310-  }]
311-  ``` 
312-  is  translated to
313- 314-  ```python 
315-  query.filter(User.addresses.any(Address.email_address ==  ' bar'  ))
316- 317-  #  also takes keyword arguments:
318-  query.filter(User.addresses.any(email_address = ' bar'  ))
319-  ``` 
320- 321- -  # ### has
322- 323-  ```python 
324-  filter_by = [{
325-  ' field_name'  : ' Address.user'  ,
326-  ' operator'  : ' has'  ,
327-  ' field_value'  : {
328-  ' field_name'  : ' User.name'  ,
329-  ' operator'  : ' equals'  ,
330-  ' field_value'  : ' bar' 
331-  }
332-  }]
333-  ``` 
334-  is  translated to
335- 336-  ```python 
337-  query.filter(Address.user.has(name = ' ed'  ))
338-  ``` 
339- 340340# # Examples
341341
342342Some examples are given below. More examples can be found [here](https:// github.com/ suyash248/ sqlalchemy- json- querybuilder/ blob/ master/ examples/ main.py).
0 commit comments