1
0
mirror of https://github.com/django/django.git synced 2024-12-23 01:25:58 +00:00

Doc'd return values of as_sql() for Func and query expressions.

This commit is contained in:
Adam Johnson 2020-03-06 12:02:08 +00:00 committed by GitHub
parent 30ca66eadd
commit 8c1b073b59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions

View File

@ -314,7 +314,9 @@ The ``Func`` API is as follows:
.. method:: as_sql(compiler, connection, function=None, template=None, arg_joiner=None, **extra_context) .. method:: as_sql(compiler, connection, function=None, template=None, arg_joiner=None, **extra_context)
Generates the SQL for the database function. Generates the SQL fragment for the database function. Returns a tuple
``(sql, params)``, where ``sql`` is the SQL string, and ``params`` is
the list or tuple of query parameters.
The ``as_vendor()`` methods should use the ``function``, ``template``, The ``as_vendor()`` methods should use the ``function``, ``template``,
``arg_joiner``, and any other ``**extra_context`` parameters to ``arg_joiner``, and any other ``**extra_context`` parameters to

View File

@ -86,10 +86,12 @@ following methods:
.. method:: as_sql(compiler, connection) .. method:: as_sql(compiler, connection)
Responsible for producing the query string and parameters for the expression. Generates the SQL fragment for the expression. Returns a tuple
The ``compiler`` is an ``SQLCompiler`` object, which has a ``compile()`` ``(sql, params)``, where ``sql`` is the SQL string, and ``params`` is the
method that can be used to compile other expressions. The ``connection`` is list or tuple of query parameters. The ``compiler`` is an ``SQLCompiler``
the connection used to execute the query. object, which has a ``compile()`` method that can be used to compile other
expressions. The ``connection`` is the connection used to execute the
query.
Calling ``expression.as_sql()`` is usually incorrect - instead Calling ``expression.as_sql()`` is usually incorrect - instead
``compiler.compile(expression)`` should be used. The ``compiler.compile()`` ``compiler.compile(expression)`` should be used. The ``compiler.compile()``