class SQLInsertCompiler(SQLCompiler):
Known subclasses: django.db.backends.mysql.compiler.SQLInsertCompiler
Undocumented
Method | as_sql |
Create the SQL for this query. Return the SQL string and list of parameters. |
Method | assemble_as_sql |
No summary |
Method | execute_sql |
Run the query against the database and return the result(s). The return value is a single data item if result_type is SINGLE, or an iterator over the results if the result_type is MULTI. |
Method | field_as_sql |
Take a field and a value intended to be saved on that field, and return placeholder SQL and accompanying params. Check for raw values, expressions, and fields with get_placeholder() defined in that order. |
Method | pre_save_val |
Get the given field's value off the given obj. pre_save() is used for things like auto_now on DateTimeField. Skip it if this is a raw query. |
Method | prepare_value |
Prepare a value to be used in a query by resolving it if it is an expression and otherwise calling the field's get_db_prep_save(). |
Instance Variable | returning_fields |
Undocumented |
Instance Variable | returning_params |
Undocumented |
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 | pre_sql_setup |
Do any necessary class setup immediately prior to producing SQL. This is for things that can't necessarily be done in __init__ because we might not have all the pieces in place at that time. |
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 |
Create the SQL for this query. Return the SQL string and list of parameters.
If 'with_limits' is False, any limit/offset information is not included in the query.
Take a sequence of N fields and a sequence of M rows of values, and generate placeholder SQL and parameters for each field and value. Return a pair containing:
- a sequence of M rows of N SQL placeholder strings, and
- a sequence of M rows of corresponding parameter values.
Each placeholder string may contain any number of '%s' interpolation strings, and each parameter row will contain exactly as many params as the total number of '%s's in the corresponding placeholder row.
Run the query against the database and return the result(s). The return value is a single data item if result_type is SINGLE, or an iterator over the results if the result_type is MULTI.
result_type is either MULTI (use fetchmany() to retrieve all rows), SINGLE (only retrieve a single row), or None. In this last case, the cursor is returned if any query is executed, since it's used by subclasses such as InsertQuery). It's possible, however, that no query is needed, as the filters describe an empty set. In that case, None is returned, to avoid any unnecessary database interaction.
Take a field and a value intended to be saved on that field, and return placeholder SQL and accompanying params. Check for raw values, expressions, and fields with get_placeholder() defined in that order.
When field is None, consider the value raw and use it as the placeholder, with no corresponding parameters returned.