Skip to content

Commit 1b1cfbc

Browse files
committed
Added jcontains
1 parent a5c487f commit 1b1cfbc

4 files changed

Lines changed: 19 additions & 3 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ $ pip install jsonLookup
1919
### Register to JSONFields
2020

2121
```python
22-
from jsonLookup import hasLookup
22+
from jsonLookup import hasLookup,jcontainsLookup
2323
JSONField.register_lookup(hasLookup)
24+
JSONField.register_lookup(jcontainsLookup)
2425
```
2526

2627
### Write your JSON queries

jsonLookup/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
from has_lookup import *
1+
from has_lookup import *
2+
from jcontains_lookup import *

jsonLookup/jcontains_lookup.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from django.db.models import Lookup
2+
3+
class jcontainsLookup(Lookup):
4+
lookup_name = 'jcontains'
5+
6+
def as_sql(self, compiler, connection):
7+
8+
lhs, lhs_params = self.process_lhs(compiler, connection)
9+
10+
rhs, rhs_params = self.process_rhs(compiler, connection)
11+
12+
params = lhs_params + rhs_params
13+
print "JSON_CONTAINS(%s, '%s')" % (lhs,'%s'), rhs_params[0]
14+
return "JSON_CONTAINS(%s, %s)"%(lhs,'%s'),rhs_params[0]

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from distutils.core import setup
44

55
setup(name='jsonLookup',
6-
version='0.1.1',
6+
version='0.2.0',
77
description='Search MySQL JSON fields in Django',
88
author='Mohamed El-Kalioby',
99
author_email='mkalioby@mkalioby.com',

0 commit comments

Comments
 (0)