bugfix
This commit is contained in:
parent
ea15f463cd
commit
8b0db960a4
@ -35,9 +35,11 @@ except:
|
|||||||
|
|
||||||
class DBFilter(object):
|
class DBFilter(object):
|
||||||
def __init__(self,filterjson):
|
def __init__(self,filterjson):
|
||||||
|
if isinstance(filterjson, str):
|
||||||
|
filterjson = json.loads(filterjson)
|
||||||
self.filterjson = filterjson
|
self.filterjson = filterjson
|
||||||
|
|
||||||
def genFilterString(self, ns={}):
|
def gen(self, ns={}):
|
||||||
self.consts = {}
|
self.consts = {}
|
||||||
ret = self._genFilterSQL(self.filterjson, ns)
|
ret = self._genFilterSQL(self.filterjson, ns)
|
||||||
ns.update(self.consts)
|
ns.update(self.consts)
|
||||||
@ -112,9 +114,40 @@ class DBFilter(object):
|
|||||||
if 'const' in keys:
|
if 'const' in keys:
|
||||||
cnt = len(self.consts.keys())
|
cnt = len(self.consts.keys())
|
||||||
name = f'filter_const_{cnt}'
|
name = f'filter_const_{cnt}'
|
||||||
self.consts.update({nmae:fj.get('const')})
|
self.consts.update({name:fj.get('const')})
|
||||||
sql = '%s %s ${%s}$' % (fj.get('field'), fj.get('op'), name)
|
sql = '%s %s ${%s}$' % (fj.get('field'), fj.get('op'), name)
|
||||||
return sql
|
return sql
|
||||||
|
|
||||||
sql = '%s %s ${%s}$' % (fj.get('field'), fj.get('op'), fj.get('var'))
|
sql = '%s %s ${%s}$' % (fj.get('field'), fj.get('op'), fj.get('var'))
|
||||||
return sql
|
return sql
|
||||||
|
|
||||||
|
def default_filterjson(fields: list, ns: dict):
|
||||||
|
fj = {}
|
||||||
|
c = [ {
|
||||||
|
'field':k,
|
||||||
|
'op':'=',
|
||||||
|
'var':k
|
||||||
|
} for k in ns.keys() if k in fields ]
|
||||||
|
return {
|
||||||
|
'AND':c
|
||||||
|
}
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
fj = {
|
||||||
|
"AND":[
|
||||||
|
{
|
||||||
|
"field":'field1',
|
||||||
|
"op":"=",
|
||||||
|
"var":"name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field":'del_flg',
|
||||||
|
"op":"=",
|
||||||
|
"const":"0"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
dbf = DBFilter(fj)
|
||||||
|
print(fj)
|
||||||
|
print(dbf.gen({'name':'joe'}))
|
||||||
|
print(f'{dbf.consts=}')
|
||||||
|
@ -15,7 +15,6 @@ from appPublic.myTE import MyTemplateEngine
|
|||||||
from appPublic.objectAction import ObjectAction
|
from appPublic.objectAction import ObjectAction
|
||||||
from appPublic.argsConvert import ArgsConvert,ConditionConvert
|
from appPublic.argsConvert import ArgsConvert,ConditionConvert
|
||||||
from .filter import DBFilter
|
from .filter import DBFilter
|
||||||
from .const import *
|
|
||||||
|
|
||||||
def db_type_2_py_type(o):
|
def db_type_2_py_type(o):
|
||||||
if isinstance(o,decimal.Decimal):
|
if isinstance(o,decimal.Decimal):
|
||||||
@ -180,7 +179,7 @@ class SQLor(object):
|
|||||||
default it not support paging
|
default it not support paging
|
||||||
"""
|
"""
|
||||||
page = int(NS.get(paging['pagename'],1))
|
page = int(NS.get(paging['pagename'],1))
|
||||||
rows = int(NS.get(paging['rowsname'],ROWS))
|
rows = int(NS.get(paging['rowsname'],80))
|
||||||
sort = NS.get(paging.get('sortname','sort'),None)
|
sort = NS.get(paging.get('sortname','sort'),None)
|
||||||
if isinstance(sort, list):
|
if isinstance(sort, list):
|
||||||
sort = ','.join(sort)
|
sort = ','.join(sort)
|
||||||
@ -556,6 +555,7 @@ class SQLor(object):
|
|||||||
return desc
|
return desc
|
||||||
desc = {}
|
desc = {}
|
||||||
summary = [ i for i in await self.tables() if tablename.lower() == i['name'].lower() ]
|
summary = [ i for i in await self.tables() if tablename.lower() == i['name'].lower() ]
|
||||||
|
print(f'{summary=}, {tablename=}, {desc=}')
|
||||||
pris = await self.primary(tablename)
|
pris = await self.primary(tablename)
|
||||||
primary = [i['name'] for i in pris ]
|
primary = [i['name'] for i in pris ]
|
||||||
summary[0]['primary'] = primary
|
summary[0]['primary'] = primary
|
||||||
|
Loading…
Reference in New Issue
Block a user