class documentation

class SQLUpdateCompiler(SQLCompiler):

Known subclasses: django.db.backends.mysql.compiler.SQLUpdateCompiler

View In Hierarchy

Undocumented

Method as​_sql Create the SQL for this query. Return the SQL string and list of parameters.
Method execute​_sql No summary
Method pre​_sql​_setup If the update depends on results from other tables, munge the "where" conditions to match the format required for (portable) SQL updates.

Inherited from SQLCompiler:

Method __init__ Undocumented
Method ​_order​_by​_pairs Undocumented
Method ​_setup​_joins Helper method for get_order_by() and get_distinct().
Method apply​_converters Undocumented
Method as​_subquery​_condition Undocumented
Method collapse​_group​_by Undocumented
Method compile Undocumented
Method deferred​_to​_columns Convert the self.deferred_loading data structure to mapping of table names to sets of column names which are to be loaded. Return the dictionary.
Method explain​_query Undocumented
Method find​_ordering​_name Return the table alias (the name might be ambiguous, the alias will not be) and column name for ordering by the given 'name' parameter. The 'name' is of the form 'field1__field2__...__fieldN'.
Method get​_combinator​_sql Undocumented
Method get​_converters Undocumented
Method get​_default​_columns No summary
Method get​_distinct Return a quoted list of fields to use in DISTINCT ON part of the query.
Method get​_extra​_select Undocumented
Method get​_from​_clause No summary
Method get​_group​_by Return a list of 2-tuples of form (sql, params).
Method get​_order​_by Return a list of 2-tuples of the form (expr, (sql, params, is_ref)) for the ORDER BY clause.
Method get​_related​_selections No summary
Method get​_select No summary
Method get​_select​_for​_update​_of​_arguments Return a quoted list of arguments for the SELECT FOR UPDATE OF part of the query.
Method has​_results Backends (e.g. NoSQL) can override this in order to use optimized versions of "query has any results."
Method quote​_name​_unless​_alias A wrapper around connection.ops.quote_name that doesn't quote aliases for table names. This avoids problems with some SQL dialects that treat quoted strings specially (e.g. PostgreSQL).
Method results​_iter Return an iterator over the results from executing this query.
Method setup​_query Undocumented
Class Variable ordering​_parts Undocumented
Instance Variable ​_meta​_ordering Undocumented
Instance Variable annotation​_col​_map Undocumented
Instance Variable col​_count Undocumented
Instance Variable connection Undocumented
Instance Variable elide​_empty Undocumented
Instance Variable has​_extra​_select Undocumented
Instance Variable having Undocumented
Instance Variable klass​_info Undocumented
Instance Variable query Undocumented
Instance Variable quote​_cache Undocumented
Instance Variable select Undocumented
Instance Variable using Undocumented
Instance Variable where Undocumented
def as_sql(self):
Create the SQL for this query. Return the SQL string and list of parameters.
def execute_sql(self, result_type):
Execute the specified update. Return the number of rows affected by the primary update query. The "primary update query" is the first non-empty query that is executed. Row counts for any subsequent, related queries are not available.
def pre_sql_setup(self):

If the update depends on results from other tables, munge the "where" conditions to match the format required for (portable) SQL updates.

If multiple updates are required, pull out the id values to update at this point so that they don't change as a result of the progressive updates.