def test_substring(self):
self.assert_compile(
func.substring("abc", 1, 2),
"SUBSTRING(%(substring_1)s FROM %(substring_2)s "
"FOR %(substring_3)s)",
)
self.assert_compile(
func.substring("abc", 1),
"SUBSTRING(%(substring_1)s FROM %(substring_2)s)",
)
func.substring(str, from, [for])
thực sự là những gì bạn muốn. Nó được "phân định bằng dấu phẩy" vì đó là cách các phương thức Python
Nếu bạn muốn tự tạo SQL, bạn có thể làm một cái gì đó như text("SUBSTRING('foo' FROM 1 FOR 2)")
, nhưng tôi không hiểu tại sao bạn lại làm như vậy.