7 适配器,将sql方言适配到ORM框架中,实现sql自由
9 从配置表中开始配置sql方言,继承SqlLanguage类并实现抽象方法,开启
11 实现当前类,在orm操作中存在自定义字段时,保证所有的操作都能够按照你所希望的那样执行
16 if not hasattr(self,
'funcs'):
30 instance.args.append(
'`' + key +
'`')
31 instance.args.append(
' LIKE ')
32 instance.args.append(
'%s')
33 instance.args.append(
' AND ')
34 instance.params.append(value)
37 if isinstance(value, list):
38 instance.args.append(
'`' + key +
'`')
39 instance.args.append(
' IN ')
40 value = [str(i)
for i
in value]
41 vals =
','.join(value)
42 instance.args.append(f
'( {vals} )')
45 msg=
'value type is not list or QuerySet object',
46 obj=FieldNotExist, raise_exception=
True)
49 instance.args.append(
'`' + key +
'`')
50 instance.args.append(
' < ')
51 instance.args.append(
'%s')
52 instance.args.append(
' AND ')
53 instance.params.append(value)
56 instance.args.append(
'`' + key +
'`')
57 instance.args.append(
' > ')
58 instance.args.append(
'%s')
59 instance.args.append(
' AND ')
60 instance.params.append(value)
63 instance.args.append(
'`' + key +
'`')
64 instance.args.append(
' <= ')
65 instance.args.append(
'%s')
66 instance.params.append(value)
69 instance.args.append(
'`' + key +
'`')
70 instance.args.append(
' >= ')
71 instance.args.append(
'%s')
72 instance.params.append(value)
75 instance.args.append(
'`' + key +
'`')
76 instance.args.append(
' = ')
77 instance.args.append(
'%s')
78 instance.params.append(value)
81 if key
not in self.
funcs.keys():