to_sql¶
- SQLCondition.to_sql(max_len=10000000.0)¶
将所有查询条件转化为符合sql语法的查询条件字符串。
- 参数
max_len – 单次输出的条件字符串的最大长度
- 返回
查询条件字符串的生成器
- 引发
ValueError – 给定的max_len太小以至于无法产生sql语句
示例
>>> sc = SQLCondition(f1=range(1, 4), f2=range(4, 7), a__eq=1, b__in=(1, 2), c__lt=2) >>> next(sc.to_sql()) '`a`=1 AND `b` IN (1, 2) AND `c`<2 AND ((f1=1 AND f2=4) OR (f1=2 AND f2=5) OR (f1=3 AND f2=6))' >>> for sql in sc.to_sql(max_len=80): ... print(sql) `a`=1 AND `b` IN (1, 2) AND `c`<2 AND ((f1=1 AND f2=4) OR (f1=2 AND f2=5)) `a`=1 AND `b` IN (1, 2) AND `c`<2 AND ((f1=3 AND f2=6))