mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 09:16:10 -06:00
11539 empty lookup handle non boolean params
This commit is contained in:
parent
d5e6829eff
commit
10b8904481
@ -1,3 +1,4 @@
|
|||||||
|
from distutils.util import strtobool
|
||||||
from django.db.models import CharField, Lookup
|
from django.db.models import CharField, Lookup
|
||||||
|
|
||||||
|
|
||||||
@ -7,11 +8,21 @@ class Empty(Lookup):
|
|||||||
"""
|
"""
|
||||||
lookup_name = 'empty'
|
lookup_name = 'empty'
|
||||||
|
|
||||||
|
def convert_parm_to_bool(self, param):
|
||||||
|
try:
|
||||||
|
ret = str(strtobool(param))
|
||||||
|
except ValueError:
|
||||||
|
ret = "false"
|
||||||
|
|
||||||
|
return ret
|
||||||
|
|
||||||
def as_sql(self, qn, connection):
|
def as_sql(self, qn, connection):
|
||||||
lhs, lhs_params = self.process_lhs(qn, connection)
|
lhs, lhs_params = self.process_lhs(qn, connection)
|
||||||
rhs, rhs_params = self.process_rhs(qn, connection)
|
rhs, rhs_params = self.process_rhs(qn, connection)
|
||||||
|
rhs_params = [str(self.convert_parm_to_bool(param)) for param in rhs_params]
|
||||||
params = lhs_params + rhs_params
|
params = lhs_params + rhs_params
|
||||||
return 'CAST(LENGTH(%s) AS BOOLEAN) != %s' % (lhs, rhs), params
|
s = f'CAST(LENGTH({lhs}) AS BOOLEAN) != {rhs}'
|
||||||
|
return (s, params)
|
||||||
|
|
||||||
|
|
||||||
CharField.register_lookup(Empty)
|
CharField.register_lookup(Empty)
|
||||||
|
Loading…
Reference in New Issue
Block a user