From c60feb6999f83bfd1fdabff01f0dd4a26d72e158 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Fri, 7 Oct 2016 10:24:45 -0400 Subject: [PATCH] Fixed #25475 -- Doc'd how to use a literal % in Func.template. --- docs/ref/models/expressions.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/ref/models/expressions.txt b/docs/ref/models/expressions.txt index 667285adbb..66bb905147 100644 --- a/docs/ref/models/expressions.txt +++ b/docs/ref/models/expressions.txt @@ -259,6 +259,12 @@ The ``Func`` API is as follows: generated for this function. Defaults to ``'%(function)s(%(expressions)s)'``. + If you're constructing SQL like ``strftime('%W', 'date')`` and need a + literal ``%`` character in the query, quadruple it (``%%%%``) in the + ``template`` attribute because the string is interpolated twice: once + during the template interpolation in ``as_sql()`` and once in the SQL + interpolation with the query parameters in the database cursor. + .. attribute:: arg_joiner A class attribute that denotes the character used to join the list of