class documentation

Undocumented

Method adapt_datetimefield_value Transform a datetime value to an object compatible with what is expected by the backend driver for datetime columns.
Method adapt_timefield_value Transform a time value to an object compatible with what is expected by the backend driver for time columns.
Method bulk_batch_size SQLite has a compile-time default (SQLITE_LIMIT_VARIABLE_NUMBER) of 999 variables per query.
Method bulk_insert_sql Undocumented
Method check_expression_support Check that the backend supports the provided expression.
Method combine_duration_expression Undocumented
Method combine_expression Combine a list of subexpressions into a single expression, using the provided connecting operator. This is required because operators can vary between backends (e.g., Oracle with %% and &) and between subexpression types (e...
Method convert_booleanfield_value Undocumented
Method convert_datefield_value Undocumented
Method convert_datetimefield_value Undocumented
Method convert_timefield_value Undocumented
Method convert_uuidfield_value Undocumented
Method date_extract_sql Support EXTRACT with a user-defined function django_date_extract() that's registered in connect(). Use single quotes because this is a string and could otherwise cause a collision with a field name.
Method date_trunc_sql Given a lookup_type of 'year', 'month', or 'day', return the SQL that truncates the given date or datetime field field_name to a date object with only the given specificity.
Method datetime_cast_date_sql Return the SQL to cast a datetime value to date value.
Method datetime_cast_time_sql Return the SQL to cast a datetime value to time value.
Method datetime_extract_sql Given a lookup_type of 'year', 'month', 'day', 'hour', 'minute', or 'second', return the SQL that extracts a value from the given datetime field field_name.
Method datetime_trunc_sql Given a lookup_type of 'year', 'month', 'day', 'hour', 'minute', or 'second', return the SQL that truncates the given datetime field field_name to a datetime object with only the given specificity.
Method fetch_returned_insert_rows Given a cursor object that has just performed an INSERT...RETURNING statement into a table, return the list of returned data.
Method format_for_duration_arithmetic Do nothing since formatting is handled in the custom function.
Method get_db_converters Return a list of functions needed to convert field data.
Method get_decimalfield_converter Undocumented
Method insert_statement Undocumented
Method integer_field_range Given an integer field internal type (e.g. 'PositiveIntegerField'), return a tuple of the (min_value, max_value) form representing the range of the column type bound to the field.
Method last_executed_query Return a string of the query last executed by the given cursor, with placeholders replaced with actual values.
Method no_limit_value Return the value to use for the LIMIT when we are wanting "LIMIT infinity". Return None if the limit clause can be omitted in this case.
Method on_conflict_suffix_sql Undocumented
Method pk_default_value Return the value to use during an INSERT statement to specify that the field should use its default value.
Method quote_name Return a quoted version of the given table, index, or column name. Do not quote the given name if it's already been quoted.
Method return_insert_columns For backends that support returning columns as part of an insert query, return the SQL and params to append to the INSERT query. The returned fragment should contain a format string to hold the appropriate column.
Method sequence_reset_by_name_sql Return a list of the SQL statements required to reset sequences passed in `sequences`.
Method sql_flush Return a list of SQL statements required to remove all data from the given database tables (without actually removing the tables themselves).
Method subtract_temporals Undocumented
Method time_extract_sql Given a lookup_type of 'hour', 'minute', or 'second', return the SQL that extracts a value from the given time field field_name.
Method time_trunc_sql Given a lookup_type of 'hour', 'minute' or 'second', return the SQL that truncates the given time or datetime field field_name to a time object with only the given specificity.
Class Variable cast_char_field_without_max_length Undocumented
Class Variable cast_data_types Undocumented
Class Variable explain_prefix Undocumented
Class Variable jsonfield_datatype_values Undocumented
Method __references_graph Undocumented
Method _convert_tznames_to_sql Undocumented
Method _quote_params_for_last_executed_query Only for last_executed_query! Don't use this to execute SQL queries!
Property _references_graph Undocumented

Inherited from BaseDatabaseOperations:

Method __init__ Undocumented
Method adapt_datefield_value Transform a date value to an object compatible with what is expected by the backend driver for date columns.
Method adapt_decimalfield_value Transform a decimal.Decimal value to an object compatible with what is expected by the backend driver for decimal (numeric) columns.
Method adapt_ipaddressfield_value Transform a string representation of an IP address into the expected type for the backend driver.
Method adapt_unknown_value Transform a value to something compatible with the backend driver.
Method autoinc_sql Return any SQL needed to support auto-incrementing primary keys, or None if no SQL is necessary.
Method binary_placeholder_sql Some backends require special syntax to insert binary content (MySQL for example uses '_binary %s').
Method cache_key_culling_sql Return an SQL query that retrieves the first cache key greater than the n smallest.
Method compiler Return the SQLCompiler class corresponding to the given name, in the namespace corresponding to the `compiler_module` attribute on this backend.
Method conditional_expression_supported_in_where_clause Return True, if the conditional expression is supported in the WHERE clause.
Method convert_durationfield_value Undocumented
Method deferrable_sql Return the SQL to make a constraint "initially deferred" during a CREATE TABLE statement.
Method distinct_sql Return an SQL DISTINCT clause which removes duplicate rows from the result set. If any fields are given, only check the given fields for duplicates.
Method end_transaction_sql Return the SQL statement required to end a transaction.
Method execute_sql_flush Execute a list of SQL statements to flush the database.
Method explain_query_prefix Undocumented
Method fetch_returned_insert_columns Given a cursor object that has just performed an INSERT...RETURNING statement into a table, return the newly created data.
Method field_cast_sql Given a column type (e.g. 'BLOB', 'VARCHAR') and an internal type (e.g. 'GenericIPAddressField'), return the SQL to cast it before using it in a WHERE statement. The resulting string should contain a '%s' placeholder for the column being searched against.
Method for_update_sql Return the FOR UPDATE SQL clause to lock rows for an update operation.
Method force_no_ordering Return a list used in the "ORDER BY" clause to force no ordering at all. Return an empty list to include nothing in the ordering.
Method last_insert_id Given a cursor object that has just performed an INSERT statement into a table that has an auto-incrementing ID, return the newly created ID.
Method limit_offset_sql Return LIMIT/OFFSET SQL clause.
Method lookup_cast Return the string to use in a query when performing lookups ("contains", "like", etc.). It should contain a '%s' placeholder for the column being searched against.
Method max_in_list_size Return the maximum number of items that can be passed in a single 'IN' list condition, or None if the backend does not impose a limit.
Method max_name_length Return the maximum length of table and column names, or None if there is no limit.
Method modify_insert_params Allow modification of insert parameters. Needed for Oracle Spatial backend due to #10888.
Method prep_for_like_query Prepare a value for use in a LIKE query.
Method prepare_sql_script Take an SQL script that may contain multiple lines and return a list of statements to feed to successive cursor.execute() calls.
Method process_clob Return the value of a CLOB column, for backends that return a locator object that requires additional processing.
Method regex_lookup Return the string to use in a query when performing regular expression lookups (using "regex" or "iregex"). It should contain a '%s' placeholder for the column being searched against.
Method savepoint_commit_sql Return the SQL for committing the given savepoint.
Method savepoint_create_sql Return the SQL for starting a new savepoint. Only required if the "uses_savepoints" feature is True. The "sid" parameter is a string for the savepoint id.
Method savepoint_rollback_sql Return the SQL for rolling back the given savepoint.
Method sequence_reset_sql Return a list of the SQL statements required to reset sequences for the given models.
Method set_time_zone_sql Return the SQL that will set the connection's time zone.
Method start_transaction_sql Return the SQL statement required to start a transaction.
Method tablespace_sql Return the SQL that will be used in a query to define the tablespace.
Method unification_cast_sql Given a field instance, return the SQL that casts the result of a union to that type. The resulting string should contain a '%s' placeholder for the expression being cast.
Method validate_autopk_value Certain backends do not accept some values for "serial" fields (for example zero in MySQL). Raise a ValueError if the value is invalid, otherwise return the validated value.
Method window_frame_end Undocumented
Method window_frame_range_start_end Undocumented
Method window_frame_rows_start_end Return SQL for start and end points in an OVER clause window frame.
Method window_frame_start Undocumented
Method year_lookup_bounds_for_date_field Return a two-elements list with the lower and upper bound to be used with a BETWEEN operator to query a DateField value using a year lookup.
Method year_lookup_bounds_for_datetime_field Return a two-elements list with the lower and upper bound to be used with a BETWEEN operator to query a DateTimeField value using a year lookup.
Constant CURRENT_ROW Undocumented
Constant FOLLOWING Undocumented
Constant PRECEDING Undocumented
Constant UNBOUNDED_FOLLOWING Undocumented
Constant UNBOUNDED_PRECEDING Undocumented
Class Variable compiler_module Undocumented
Class Variable integer_field_ranges Undocumented
Class Variable set_operators Undocumented
Instance Variable connection Undocumented
Method _get_limit_offset_params Undocumented
Instance Variable _cache Undocumented
def adapt_datetimefield_value(self, value): (source)

Transform a datetime value to an object compatible with what is expected by the backend driver for datetime columns.

def adapt_timefield_value(self, value): (source)

Transform a time value to an object compatible with what is expected by the backend driver for time columns.

def bulk_batch_size(self, fields, objs): (source)

SQLite has a compile-time default (SQLITE_LIMIT_VARIABLE_NUMBER) of 999 variables per query. If there's only a single field to insert, the limit is 500 (SQLITE_MAX_COMPOUND_SELECT).

def bulk_insert_sql(self, fields, placeholder_rows): (source)

Undocumented

def check_expression_support(self, expression): (source)

Check that the backend supports the provided expression. This is used on specific backends to rule out known expressions that have problematic or nonexistent implementations. If the expression has a known problem, the backend should raise NotSupportedError.

def combine_duration_expression(self, connector, sub_expressions): (source)
def combine_expression(self, connector, sub_expressions): (source)

Combine a list of subexpressions into a single expression, using the provided connecting operator. This is required because operators can vary between backends (e.g., Oracle with %% and &) and between subexpression types (e.g., date expressions).

def convert_booleanfield_value(self, value, expression, connection): (source)

Undocumented

def convert_datefield_value(self, value, expression, connection): (source)

Undocumented

def convert_datetimefield_value(self, value, expression, connection): (source)

Undocumented

def convert_timefield_value(self, value, expression, connection): (source)

Undocumented

def convert_uuidfield_value(self, value, expression, connection): (source)

Undocumented

def date_extract_sql(self, lookup_type, sql, params): (source)

Support EXTRACT with a user-defined function django_date_extract() that's registered in connect(). Use single quotes because this is a string and could otherwise cause a collision with a field name.

def date_trunc_sql(self, lookup_type, sql, params, tzname=None): (source)

Given a lookup_type of 'year', 'month', or 'day', return the SQL that truncates the given date or datetime field field_name to a date object with only the given specificity. If `tzname` is provided, the given value is truncated in a specific timezone.

def datetime_cast_date_sql(self, sql, params, tzname): (source)

Return the SQL to cast a datetime value to date value.

def datetime_cast_time_sql(self, sql, params, tzname): (source)

Return the SQL to cast a datetime value to time value.

def datetime_extract_sql(self, lookup_type, sql, params, tzname): (source)

Given a lookup_type of 'year', 'month', 'day', 'hour', 'minute', or 'second', return the SQL that extracts a value from the given datetime field field_name.

def datetime_trunc_sql(self, lookup_type, sql, params, tzname): (source)

Given a lookup_type of 'year', 'month', 'day', 'hour', 'minute', or 'second', return the SQL that truncates the given datetime field field_name to a datetime object with only the given specificity.

def fetch_returned_insert_rows(self, cursor): (source)

Given a cursor object that has just performed an INSERT...RETURNING statement into a table, return the list of returned data.

def format_for_duration_arithmetic(self, sql): (source)

Do nothing since formatting is handled in the custom function.

def get_db_converters(self, expression): (source)

Return a list of functions needed to convert field data. Some field types on some backends do not provide data in the correct format, this is the hook for converter functions.

def get_decimalfield_converter(self, expression): (source)

Undocumented

def insert_statement(self, on_conflict=None): (source)
def integer_field_range(self, internal_type): (source)

Given an integer field internal type (e.g. 'PositiveIntegerField'), return a tuple of the (min_value, max_value) form representing the range of the column type bound to the field.

def last_executed_query(self, cursor, sql, params): (source)

Return a string of the query last executed by the given cursor, with placeholders replaced with actual values. `sql` is the raw query containing placeholders and `params` is the sequence of parameters. These are used by default, but this method exists for database backends to provide a better implementation according to their own quoting schemes.

def no_limit_value(self): (source)

Return the value to use for the LIMIT when we are wanting "LIMIT infinity". Return None if the limit clause can be omitted in this case.

def on_conflict_suffix_sql(self, fields, on_conflict, update_fields, unique_fields): (source)
def pk_default_value(self): (source)

Return the value to use during an INSERT statement to specify that the field should use its default value.

def quote_name(self, name): (source)

Return a quoted version of the given table, index, or column name. Do not quote the given name if it's already been quoted.

def return_insert_columns(self, fields): (source)

For backends that support returning columns as part of an insert query, return the SQL and params to append to the INSERT query. The returned fragment should contain a format string to hold the appropriate column.

def sequence_reset_by_name_sql(self, style, sequences): (source)

Return a list of the SQL statements required to reset sequences passed in `sequences`. The `style` argument is a Style object as returned by either color_style() or no_style() in django.core.management.color.

def sql_flush(self, style, tables, *, reset_sequences=False, allow_cascade=False): (source)

Return a list of SQL statements required to remove all data from the given database tables (without actually removing the tables themselves). The `style` argument is a Style object as returned by either color_style() or no_style() in django.core.management.color. If `reset_sequences` is True, the list includes SQL statements required to reset the sequences. The `allow_cascade` argument determines whether truncation may cascade to tables with foreign keys pointing the tables being truncated. PostgreSQL requires a cascade even if these tables are empty.

def subtract_temporals(self, internal_type, lhs, rhs): (source)
def time_extract_sql(self, lookup_type, sql, params): (source)

Given a lookup_type of 'hour', 'minute', or 'second', return the SQL that extracts a value from the given time field field_name.

def time_trunc_sql(self, lookup_type, sql, params, tzname=None): (source)

Given a lookup_type of 'hour', 'minute' or 'second', return the SQL that truncates the given time or datetime field field_name to a time object with only the given specificity. If `tzname` is provided, the given value is truncated in a specific timezone.

jsonfield_datatype_values = (source)

Undocumented

def __references_graph(self, table_name): (source)

Undocumented

def _convert_tznames_to_sql(self, tzname): (source)

Undocumented

def _quote_params_for_last_executed_query(self, params): (source)

Only for last_executed_query! Don't use this to execute SQL queries!

@cached_property
_references_graph = (source)

Undocumented