Compilation phase; resolvable and compilables examples
Literal values resolve to themselves
>>> Value(42).resolve_expression(query)
Value(42)
>>> Value(42).as_sql(compiler, connection)
("%s", (42,))
Func
instances resolve their constituents and wrap the SQL
>>> Func(F("name"), function="LOWER").resolve_expression(query)
Func(Col("author", "name"), function="LOWER")
>>> Func(Col("author", "name"), function="LOWER").as_sql(compiler, connection)
('LOWER("author"."name")', ())