SQLLiteralInterface

可转成 SQL 字符串的接口

目前如下类实现了此接口:

接口方法

get_sql_and_params

获得 SQL 字符串和参数

函数签名: def get_sql_and_params(self):

返回值:

(str, list); 第一个元素是 SQL 字符串,第二个元素是 SQL 参数

用法:

class Dummy(BaseModel):
    age = Field(str)

# Field 实现了 SQLLiteralInterface
assert Dummy.age.get_sql_and_params() == ('`age`', [])

exp = Dummy.age.desc()
# UnaryExpression 实现了 SQLLiteralInterface
assert exp.get_sql_and_params() == ('`age` DESC', [])

exp = Dummy.age > 1
# BinaryExpression 实现了 SQLLiteralInterface
assert exp.get_sql_and_params() == ('`age` > %s', [1])