Upgrading Django 1 to 2
Unknown1.11.29 → 2.2.28Security36
SecurityAn issue was discovered in Django 2.2 before 2.2.28, 3.2 before 3.2.13, and 4.0 before 4.0.4. QuerySet.annotate(), aggregate(), and extra() methods are subject to SQL injection in column aliases via a crafted dictionary (with dictionary expansion) as the passed **kwargs.GHSA-2gwj-7jmv-h26r · CVE-2022-28346 ↗
UnknownUpgrade verdict
None of the 66 releases in this range publish notes, so breaking changes can't be ruled out.
In plain terms
- Some releases in this range publish no notes, so DepDelta can't rule out breaking changes.
- Their commits are listed with this comparison.
Must act Top 3 of 36 that need code or config changes
Requires Python >=3.5 from 2.1a1 (none stated before).
Adds sqlparse >=0.2.2.
Installs 2 packages in all (was 1).
What you must change
Security36
An issue was discovered in Django 2.2 before 2.2.28, 3.2 before 3.2.13, and 4.0 before 4.0.4. QuerySet.annotate(), aggregate(), and extra() methods are subject to SQL injection in column aliases via a crafted dictionary (with dictionary expansion) as the passed **kwargs.
A SQL injection issue was discovered in QuerySet.explain() in Django 2.2 before 2.2.28, 3.2 before 3.2.13, and 4.0 before 4.0.4. This occurs by passing a crafted dictionary (with dictionary expansion) as the **options argument, and placing the injection payload in an option name.
An issue was discovered in MultiPartParser in Django 2.2 before 2.2.27, 3.2 before 3.2.12, and 4.0 before 4.0.2. Passing certain inputs to multipart forms could result in an infinite loop when parsing files.
The {% debug %} template tag in Django 2.2 before 2.2.27, 3.2 before 3.2.12, and 4.0 before 4.0.2 does not properly encode the current context. This may lead to XSS.
An issue was discovered in Django 2.2 before 2.2.26, 3.2 before 3.2.11, and 4.0 before 4.0.1. UserAttributeSimilarityValidator incurred significant overhead in evaluating a submitted password that was artificially large in relation to the comparison values. In a situation where access to user registration was unrestricted, this provided a potential vector for a denial-of-service attack.
An issue was discovered in Django 2.2 before 2.2.26, 3.2 before 3.2.11, and 4.0 before 4.0.1. Due to leveraging the Django Template Language's variable resolution logic, the dictsort template filter was potentially vulnerable to information disclosure, or an unintended method call, if passed a suitably crafted key.
Storage.save in Django 2.2 before 2.2.26, 3.2 before 3.2.11, and 4.0 before 4.0.1 allows directory traversal if crafted filenames are directly passed to it.
In Django 2.2 before 2.2.25, 3.1 before 3.1.14, and 3.2 before 3.2.10, HTTP requests for URLs with trailing newlines could bypass upstream access control based on URL paths.
Django before 2.2.24, 3.x before 3.1.12, and 3.2.x before 3.2.4 has a potential directory traversal via django.contrib.admindocs. Staff members could use the TemplateDetailView view to check the existence of arbitrary files. Additionally, if (and only if) the default admindocs templates have been customized by application developers to also show file contents, then not only the existence but also the file contents would have been exposed. In other words, there is directory traversal outside of the template root directories.
In Django 2.2 before 2.2.24, 3.x before 3.1.12, and 3.2 before 3.2.4, URLValidator, validate_ipv4_address, and validate_ipv46_address do not prohibit leading zero characters in octal literals. This may allow a bypass of access control that is based on IP addresses. (validate_ipv4_address and validate_ipv46_address are unaffected with Python 3.9.5+..) .
In Django 2.2 before 2.2.22, 3.1 before 3.1.10, and 3.2 before 3.2.2 (with Python 3.9.5+), URLValidator does not prohibit newlines and tabs (unless the URLField form field is used). If an application uses values with newlines in an HTTP response, header injection can occur. Django itself is unaffected because HttpResponse prohibits newlines in HTTP headers.
In Django 2.2 before 2.2.21, 3.1 before 3.1.9, and 3.2 before 3.2.1, MultiPartParser, UploadedFile, and FieldFile allowed directory traversal via uploaded files with suitably crafted file names.
In Django 2.2 before 2.2.20, 3.0 before 3.0.14, and 3.1 before 3.1.8, MultiPartParser allowed directory traversal via uploaded files with suitably crafted file names. Built-in upload handlers were not affected by this vulnerability.
In Django 2.2 before 2.2.18, 3.0 before 3.0.12, and 3.1 before 3.1.6, the django.utils.archive.extract method (used by "startapp --template" and "startproject --template") allows directory traversal via an archive with absolute paths or relative paths with dot segments.
An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). The intermediate-level directories of the filesystem cache had the system's standard umask rather than 0o077.
An issue was discovered in Django 2.2 before 2.2.16, 3.0 before 3.0.10, and 3.1 before 3.1.1 (when Python 3.7+ is used). FILE_UPLOAD_DIRECTORY_PERMISSIONS mode was not applied to intermediate-level directories created in the process of uploading files. It was also not applied to intermediate-level collected static directories when using the collectstatic management command.
An issue was discovered in Django 2.2 before 2.2.13 and 3.0 before 3.0.7. Query parameters generated by the Django admin ForeignKeyRawIdWidget were not properly URL encoded, leading to a possibility of an XSS attack.
An issue was discovered in Django 2.2 before 2.2.13 and 3.0 before 3.0.7. In cases where a memcached backend does not perform key validation, passing malformed cache keys could result in a key collision, and potential data leakage.
Django 1.11 before 1.11.29, 2.2 before 2.2.11, and 3.0 before 3.0.4 allows SQL Injection if untrusted data is used as a tolerance parameter in GIS functions and aggregates on Oracle. By passing a suitably crafted tolerance to GIS functions and aggregates on Oracle, it was possible to break escaping and inject malicious SQL.
Django 1.11 before 1.11.28, 2.2 before 2.2.10, and 3.0 before 3.0.3 allows SQL Injection if untrusted data is used as a StringAgg delimiter (e.g., in Django applications that offer downloads of data as a series of rows with a user-specified column delimiter). By passing a suitably crafted delimiter to a contrib.postgres.aggregates.StringAgg instance, it was possible to break escaping and inject malicious SQL.
Django before 1.11.27, 2.x before 2.2.9, and 3.x before 3.0.1 allows account takeover. A suitably crafted email address (that is equal to an existing user's email address after case transformation of Unicode characters) would allow an attacker to be sent a password reset token for the matched user account. (One mitigation in the new releases is to send password reset tokens only to the registered user email address.)
Django 2.1 before 2.1.15 and 2.2 before 2.2.8 allows unintended model editing. A Django model admin displaying inline related models, where the user has view-only permissions to a parent model but edit permissions to the inline model, would be presented with an editing UI, allowing POST requests, for updating the inline model. Directly editing the view-only parent model was not possible, but the parent model's save() method was called, triggering potential side effects, and causing pre and post-save signal handlers to be invoked. (To resolve this, the Django admin is adjusted to require edit permissions on the parent model in order for inline models to be editable.)
An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4. Due to an error in shallow key transformation, key and index lookups for django.contrib.postgres.fields.JSONField, and key lookups for django.contrib.postgres.fields.HStoreField, were subject to SQL injection. This could, for example, be exploited via crafted use of "OR 1=1" in a key or index name to return all records, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to the QuerySet.filter() function.
An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4. If django.utils.text.Truncator's chars() and words() methods were passed the html=True argument, they were extremely slow to evaluate certain inputs due to a catastrophic backtracking vulnerability in a regular expression. The chars() and words() methods are used to implement the truncatechars_html and truncatewords_html template filters, which were thus vulnerable.
An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4. Due to the behaviour of the underlying HTMLParser, django.utils.html.strip_tags would be extremely slow to evaluate certain inputs containing large sequences of nested incomplete HTML entities.
An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4. If passed certain inputs, django.utils.encoding.uri_to_iri could lead to significant memory usage due to a recursion when repercent-encoding invalid UTF-8 octet sequences.
An issue was discovered in Django 1.11 before 1.11.22, 2.1 before 2.1.10, and 2.2 before 2.2.3. An HTTP request is not redirected to HTTPS when the SECURE_PROXY_SSL_HEADER and SECURE_SSL_REDIRECT settings are used, and the proxy connects to Django via HTTPS. In other words, django.http.HttpRequest.scheme has incorrect behavior when a client uses HTTP.
XSS in jQuery as used in Drupal, Backdrop CMS, and other products
Medium · CVSS 6.1An issue was discovered in Django 1.11 before 1.11.21, 2.1 before 2.1.9, and 2.2 before 2.2.2. The clickable Current URL value displayed by the AdminURLFieldWidget displays the provided value without validating it as a safe URL. Thus, an unvalidated value stored in the database, or a value provided as a URL query parameter payload, could result in an clickable JavaScript link.
An issue was discovered in Django 2.1 before 2.1.2, in which unprivileged users can read the password hashes of arbitrary accounts. The read-only password widget used by the Django Admin to display an obfuscated password hash was bypassed if a user has only the "view" permission (new in Django 2.1), resulting in display of the entire password hash to those users. This may result in a vulnerability for sites with legacy user accounts using insecure hashes.
Django 1.11.x before 1.11.19, 2.0.x before 2.0.11, and 2.1.x before 2.1.6 allows Uncontrolled Memory Consumption via a malicious attacker-supplied value to the django.utils.numberformat.format() function.
In Django 1.11.x before 1.11.18, 2.0.x before 2.0.10, and 2.1.x before 2.1.5, an Improper Neutralization of Special Elements in Output Used by a Downstream Component issue exists in django.views.defaults.page_not_found(), leading to content spoofing (in a 404 error page) if a user fails to recognize that a crafted URL has malicious content.
django.middleware.common.CommonMiddleware in Django 1.11.x before 1.11.15 and 2.0.x before 2.0.8 has an Open Redirect.
An issue was discovered in Django 2.0 before 2.0.3, 1.11 before 1.11.11, and 1.8 before 1.8.19. If django.utils.text.Truncator's chars() and words() methods were passed the html=True argument, they were extremely slow to evaluate certain inputs due to a catastrophic backtracking vulnerability in a regular expression. The chars() and words() methods are used to implement the truncatechars_html and truncatewords_html template filters, which were thus vulnerable.
An issue was discovered in Django 2.0 before 2.0.3, 1.11 before 1.11.11, and 1.8 before 1.8.19. The django.utils.html.urlize() function was extremely slow to evaluate certain inputs due to catastrophic backtracking vulnerabilities in two regular expressions (only one regular expression for Django 1.8.x). The urlize() function is used to implement the urlize and urlizetrunc template filters, which were thus vulnerable.
django.contrib.auth.forms.AuthenticationForm in Django 2.0 before 2.0.2, and 1.11.8 and 1.11.9, allows remote attackers to obtain potentially sensitive information by leveraging data exposure from the confirm_login_allowed() method, as demonstrated by discovering whether a user account is inactive.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- changed:
class AppConfig(object) → class AppConfig
- changed:
class Apps(object) → class Apps
- changed:
class Settings(object) → class Settings - changed:
class UserSettingsHolder(object) → class UserSettingsHolder - added:
class SettingsReference(str) - added:
constructor SettingsReference(value, setting_name) - added:
export RemovedInDjango30Warning - added:
export RemovedInDjango31Warning - added:
export django - added:
property LazySettings.DEFAULT_CONTENT_TYPE - added:
property LazySettings.FILE_CHARSET - added:
variable DEFAULT_CONTENT_TYPE_DEPRECATED_MSG - added:
variable FILE_CHARSET_DEPRECATED_MSG
- removed:
variable MIDDLEWARE_CLASSES - removed:
variable USE_ETAGS - added:
variable CSRF_COOKIE_SAMESITE - added:
variable SESSION_COOKIE_SAMESITE
- added:
variable DATETIME_FORMAT - added:
variable FIRST_DAY_OF_WEEK - added:
variable MONTH_DAY_FORMAT - added:
variable NUMBER_GROUPING - added:
variable SHORT_DATETIME_FORMAT - added:
variable YEAR_MONTH_FORMAT
- added:
variable DATETIME_INPUT_FORMATS - added:
variable DATE_INPUT_FORMATS - added:
variable FIRST_DAY_OF_WEEK - added:
variable NUMBER_GROUPING - added:
variable TIME_INPUT_FORMATS
- removed:
function include(arg, namespace=…, app_name=…) - added:
export include
- changed:
function i18n_patterns(*urls, **kwargs) → function i18n_patterns(*urls, prefix_default_language=…)
- added:
field SimpleAdminConfig.default_site
- changed:
class BaseModelAdminChecks(object) → class BaseModelAdminChecks - changed:
function refer_to_missing_field(field, option, model, obj, id) → function refer_to_missing_field(field, option, obj, id)
- changed:
function register(*models, **kwargs) → function register(*models, site=…)
- changed:
class ListFilter(object) → class ListFilter
- changed:
class AdminField(object) → class AdminField - changed:
class AdminForm(object) → class AdminForm - changed:
class AdminReadonlyField(object) → class AdminReadonlyField - changed:
class Fieldline(object) → class Fieldline - changed:
class Fieldset(object) → class Fieldset - changed:
class InlineAdminFormSet(object) → class InlineAdminFormSet - changed:
constructor InlineAdminFormSet(inline, formset, fieldsets, prepopulated_fields=…, readonly_fields=…, model_admin=…) → constructor InlineAdminFormSet(inline, formset, fieldsets, prepopulated_fields=…, readonly_fields=…, model_admin=…, has_add_permission=…, has_change_permission=…, has_delete_permission=…, has_view_permission=…)
- added:
variable ACTION_FLAG_CHOICES
- removed:
method InlineModelAdmin.get_fields(request, obj=…) - removed:
method ModelAdmin.get_fields(request, obj=…) - changed:
class BaseModelAdmin(six.with_metaclass(forms.MediaDefiningClass)) → class BaseModelAdmin - changed:
method InlineModelAdmin.has_add_permission(request) → method InlineModelAdmin.has_add_permission(request, obj=…) - changed:
method ModelAdmin.get_form(request, obj=…, **kwargs) → method ModelAdmin.get_form(request, obj=…, change=…, **kwargs) - added:
field BaseModelAdmin.autocomplete_fields - added:
field BaseModelAdmin.sortable_by - added:
method BaseModelAdmin.get_autocomplete_fields(request) - added:
method BaseModelAdmin.get_sortable_by(request) - added:
method BaseModelAdmin.has_view_or_change_permission(request, obj=…) - added:
method BaseModelAdmin.has_view_permission(request, obj=…) - added:
method InlineModelAdmin.has_view_permission(request, obj=…) - added:
method ModelAdmin.autocomplete_view(request) - added:
method ModelAdmin.delete_queryset(request, queryset) - added:
method ModelAdmin.get_changelist_instance(request) - added:
method ModelAdmin.get_deleted_objects(objs, request)
- changed:
class AdminSite(object) → class AdminSite - added:
class DefaultAdminSite(LazyObject)
- added:
function admin_actions_tag(parser, token) - added:
function change_list_object_tools_tag(parser, token) - added:
function date_hierarchy_tag(parser, token) - added:
function pagination_tag(parser, token) - added:
function result_list_tag(parser, token) - added:
function search_form_tag(parser, token)
- added:
function change_form_object_tools_tag(parser, token) - added:
function prepopulated_fields_js_tag(parser, token) - added:
function submit_row_tag(parser, token)
- added:
class InclusionAdminNode(InclusionNode) - added:
constructor InclusionAdminNode(parser, token, func, template_name, takes_context=…) - added:
method InclusionAdminNode.render(context)
- changed:
function get_deleted_objects(objs, opts, user, admin_site, using) → function get_deleted_objects(objs, request, admin_site) - changed:
function label_for_field(name, model, model_admin=…, return_attr=…) → function label_for_field(name, model, model_admin=…, return_attr=…, form=…) - added:
variable QUOTE_MAP - added:
variable UNQUOTE_MAP - added:
variable UNQUOTE_RE
- added:
class AutocompleteJsonView(BaseListView) - added:
field AutocompleteJsonView.model_admin - added:
field AutocompleteJsonView.paginate_by - added:
method AutocompleteJsonView.get(request, *args, **kwargs) - added:
method AutocompleteJsonView.get_paginator(*args, **kwargs) - added:
method AutocompleteJsonView.get_queryset() - added:
method AutocompleteJsonView.has_perm(request, obj=…)
- changed:
class ChangeList(object) → class ChangeList - changed:
constructor ChangeList(request, model, list_display, list_display_links, list_filter, date_hierarchy, search_fields, list_select_related, list_per_page, list_max_show_all, list_editable, model_admin) → constructor ChangeList(request, model, list_display, list_display_links, list_filter, date_hierarchy, search_fields, list_select_related, list_per_page, list_max_show_all, list_editable, model_admin, sortable_by)
- removed:
property AdminDateWidget.media - removed:
property AdminTimeWidget.media - changed:
constructor RelatedFieldWidgetWrapper(widget, rel, admin_site, can_add_related=…, can_change_related=…, can_delete_related=…) → constructor RelatedFieldWidgetWrapper(widget, rel, admin_site, can_add_related=…, can_change_related=…, can_delete_related=…, can_view_related=…) - added:
class AdminDateWidget.Media - added:
class AdminTimeWidget.Media - added:
class AdminUUIDInputWidget(forms.TextInput) - added:
class AutocompleteMixin - added:
class AutocompleteSelect(AutocompleteMixin, forms.Select) - added:
class AutocompleteSelectMultiple(AutocompleteMixin, forms.SelectMultiple) - added:
constructor AdminUUIDInputWidget(attrs=…) - added:
constructor AutocompleteMixin(rel, admin_site, attrs=…, choices=…, using=…) - added:
field AdminDateWidget.Media.js - added:
field AdminTimeWidget.Media.js - added:
field AutocompleteMixin.url_name - added:
method AutocompleteMixin.build_attrs(base_attrs, extra_attrs=…) - added:
method AutocompleteMixin.get_url() - added:
method AutocompleteMixin.optgroups(name, value, attr=…) - added:
property AutocompleteMixin.media - added:
variable SELECT2_TRANSLATIONS
- removed:
method BookmarkletsView.get_context_data(**kwargs)
- removed:
export RemovedInDjango21Warning
- changed:
class ModelBackend(object) → class ModelBackend - changed:
method RemoteUserBackend.configure_user(user) → method RemoteUserBackend.configure_user(request, user)
- removed:
constructor AbstractBaseUser(*args, **kwargs) - removed:
method AbstractBaseUser.get_full_name() - removed:
method AbstractBaseUser.get_short_name()
- changed:
class PermLookupDict(object) → class PermLookupDict - changed:
class PermWrapper(object) → class PermWrapper
- removed:
method AuthenticationForm.get_user_id() - added:
field ReadOnlyPasswordHashWidget.read_only - added:
method AuthenticationForm.get_invalid_login_error()
- changed:
class BasePasswordHasher(object) → class BasePasswordHasher
- removed:
export DEFAULT_LOCALE_ENCODING - removed:
export six - added:
export create_contenttypes
- added:
field Command.stealth_options - added:
variable PASSWORD_FIELD
- removed:
class SessionAuthenticationMiddleware(MiddlewareMixin) - removed:
method SessionAuthenticationMiddleware.process_request(request)
- changed:
class AccessMixin(object) → class AccessMixin
- removed:
constructor AnonymousUser() - changed:
class AnonymousUser(object) → class AnonymousUser
- changed:
class CommonPasswordValidator(object) → class CommonPasswordValidator - changed:
class MinimumLengthValidator(object) → class MinimumLengthValidator - changed:
class NumericPasswordValidator(object) → class NumericPasswordValidator - changed:
class UserAttributeSimilarityValidator(object) → class UserAttributeSimilarityValidator - added:
function exceeds_maximum_length_ratio(password, max_similarity, value)
- changed:
class PasswordResetTokenGenerator(object) → class PasswordResetTokenGenerator - added:
field PasswordResetTokenGenerator.secret
- removed:
function deprecate_current_app(func) - removed:
function login(request, template_name=…, redirect_field_name=…, authentication_form=…, extra_context=…, redirect_authenticated_user=…) - removed:
function logout(request, next_page=…, template_name=…, redirect_field_name=…, extra_context=…) - removed:
function password_change(request, template_name=…, post_change_redirect=…, password_change_form=…, extra_context=…) - removed:
function password_change_done(request, template_name=…, extra_context=…) - removed:
function password_reset(request, template_name=…, email_template_name=…, subject_template_name=…, password_reset_form=…, token_generator=…, post_reset_redirect=…, from_email=…, extra_context=…, html_email_template_name=…, extra_email_context=…) - removed:
function password_reset_complete(request, template_name=…, extra_context=…) - removed:
function password_reset_confirm(request, uidb64=…, token=…, template_name=…, token_generator=…, set_password_form=…, post_reset_redirect=…, extra_context=…) - removed:
function password_reset_done(request, template_name=…, extra_context=…) - changed:
class PasswordContextMixin(object) → class PasswordContextMixin - changed:
class SuccessURLAllowedHostsMixin(object) → class SuccessURLAllowedHostsMixin - changed:
function logout_then_login(request, login_url=…, extra_context=…) → function logout_then_login(request, login_url=…)
- added:
function check_model_name_lengths(app_configs=…, **kwargs)
- removed:
method GenericForeignKey.is_cached(instance) - changed:
class GenericForeignKey(object) → class GenericForeignKey(FieldCacheMixin) - changed:
method GenericRelation.get_path_info() → method GenericRelation.get_path_info(filtered_relation=…) - changed:
method GenericRelation.get_reverse_path_info() → method GenericRelation.get_reverse_path_info(filtered_relation=…) - added:
field GenericRelation.mti_inherited - added:
method GenericForeignKey.get_cache_name()
- added:
method BaseGenericInlineFormSet.initial_form_count()
- removed:
export six
- changed:
method ContentTypeManager.get_for_models(*models, **kwargs) → method ContentTypeManager.get_for_models(*models, for_concrete_models=…)
- added:
constructor FlatpageForm(*args, **kwargs)
- changed:
class WKTAdapter(object) → class WKTAdapter
- removed:
constructor BaseSpatialFeatures(*args) - removed:
field BaseSpatialFeatures.geoqueryset_methods - removed:
field BaseSpatialFeatures.supports_distances_lookups - removed:
method BaseSpatialFeatures.has_ops_method(method) - changed:
class BaseSpatialFeatures(object) → class BaseSpatialFeatures - added:
property BaseSpatialFeatures.supports_distances_lookups
- changed:
class SpatialRefSysMixin(object) → class SpatialRefSysMixin
- removed:
field BaseSpatialOperations.area - removed:
field BaseSpatialOperations.bounding_circle - removed:
field BaseSpatialOperations.centroid - removed:
field BaseSpatialOperations.difference - removed:
field BaseSpatialOperations.distance - removed:
field BaseSpatialOperations.distance_sphere - removed:
field BaseSpatialOperations.distance_spheroid - removed:
field BaseSpatialOperations.envelope - removed:
field BaseSpatialOperations.force_rhr - removed:
field BaseSpatialOperations.from_wkb - removed:
field BaseSpatialOperations.geohash - removed:
field BaseSpatialOperations.geojson - removed:
field BaseSpatialOperations.gml - removed:
field BaseSpatialOperations.kml - removed:
field BaseSpatialOperations.mem_size - removed:
field BaseSpatialOperations.num_geom - removed:
field BaseSpatialOperations.num_points - removed:
field BaseSpatialOperations.perimeter - removed:
field BaseSpatialOperations.perimeter3d - removed:
field BaseSpatialOperations.point_on_surface - removed:
field BaseSpatialOperations.polygonize - removed:
field BaseSpatialOperations.reverse - removed:
field BaseSpatialOperations.scale - removed:
field BaseSpatialOperations.snap_to_grid - removed:
field BaseSpatialOperations.svg - removed:
field BaseSpatialOperations.sym_difference - removed:
field BaseSpatialOperations.transform - removed:
field BaseSpatialOperations.translate - removed:
field BaseSpatialOperations.truncate_params - removed:
field BaseSpatialOperations.union - changed:
class BaseSpatialOperations(object) → class BaseSpatialOperations - added:
field BaseSpatialOperations.distance_expr_for_lookup - added:
method BaseSpatialOperations.get_area_att_for_field(field) - added:
method BaseSpatialOperations.get_db_converters(expression) - added:
method BaseSpatialOperations.get_distance_att_for_field(field) - added:
method BaseSpatialOperations.get_geometry_converter(expression) - added:
property BaseSpatialOperations.select_extent
- removed:
field DatabaseFeatures.supports_distances_lookups - added:
property DatabaseFeatures.supports_empty_geometry_collection - added:
property DatabaseFeatures.supports_geometry_field_unique_index
- removed:
method MySQLOperations.convert_invalid_empty_geometry_collection(value, expression, connection, context) - removed:
method MySQLOperations.get_db_converters(expression) - removed:
method MySQLOperations.get_geom_placeholder(f, value, compiler) - removed:
property MySQLOperations.from_wkb - removed:
property MySQLOperations.function_names - removed:
property MySQLOperations.geom_func_prefix - removed:
property MySQLOperations.is_mysql_5_5 - removed:
property MySQLOperations.is_mysql_5_6 - removed:
property MySQLOperations.uses_invalid_empty_geometry_collection - added:
field MySQLOperations.geom_func_prefix - added:
method MySQLOperations.get_distance(f, value, lookup_type) - added:
method MySQLOperations.get_geometry_converter(expression)
- removed:
field OracleSpatialRefSys.objects
- removed:
class SDODistance(SpatialOperator) - removed:
class SDOIsValid(SpatialOperator) - removed:
field OracleOperations.area - removed:
field OracleOperations.centroid - removed:
field OracleOperations.difference - removed:
field OracleOperations.distance - removed:
field OracleOperations.gml - removed:
field OracleOperations.intersection - removed:
field OracleOperations.length - removed:
field OracleOperations.num_points - removed:
field OracleOperations.perimeter - removed:
field OracleOperations.point_on_surface - removed:
field OracleOperations.reverse - removed:
field OracleOperations.sym_difference - removed:
field OracleOperations.transform - removed:
field OracleOperations.truncate_params - removed:
field OracleOperations.union - removed:
field SDODistance.sql_template - removed:
field SDOIsValid.sql_template - removed:
method OracleOperations.convert_geometry(value, expression, connection, context) - removed:
method OracleOperations.get_db_converters(expression) - removed:
property OracleOperations.unsupported_functions - changed:
method OracleOperations.convert_extent(clob, srid) → method OracleOperations.convert_extent(clob) - changed:
method OracleOperations.get_distance(f, value, lookup_type, **kwargs) → method OracleOperations.get_distance(f, value, lookup_type) - added:
field OracleOperations.unsupported_functions - added:
method OracleOperations.get_area_att_for_field(field) - added:
method OracleOperations.get_geometry_converter(expression)
- changed:
class PostGISAdapter(object) → class PostGISAdapter
- removed:
class PostGISDistanceOperator(PostGISOperator) - removed:
constructor PostGISOperations(connection) - removed:
field PostGISDistanceOperator.sql_template - removed:
field PostGISOperations.version_regex - removed:
method PostGISDistanceOperator.as_sql(connection, lookup, template_params, sql_params) - removed:
method PostGISOperations.deconstruct_raster(value) - changed:
method PostGISOperations.convert_extent(box, srid) → method PostGISOperations.convert_extent(box) - changed:
method PostGISOperations.convert_extent3d(box3d, srid) → method PostGISOperations.convert_extent3d(box3d) - changed:
method PostGISOperations.get_distance(f, dist_val, lookup_type, handle_spheroid=…) → method PostGISOperations.get_distance(f, dist_val, lookup_type) - added:
class ST_Polygon(Func) - added:
constructor ST_Polygon(expr) - added:
field PostGISOperations.collect - added:
field PostGISOperations.extent - added:
field PostGISOperations.extent3d - added:
field PostGISOperations.length3d - added:
field PostGISOperations.makeline - added:
field PostGISOperations.perimeter3d - added:
field PostGISOperations.select - added:
field PostGISOperations.select_extent - added:
field PostGISOperations.unionagg - added:
field ST_Polygon.function - added:
method PostGISOperations.distance_expr_for_lookup(lhs, rhs, **kwargs) - added:
method PostGISOperations.get_area_att_for_field(field) - added:
method PostGISOperations.get_geometry_converter(expression) - added:
property ST_Polygon.output_field
- removed:
function get_pgraster_srid(data)
- removed:
field DatabaseFeatures.supports_num_points_poly - removed:
property DatabaseFeatures.supports_initspatialmetadata_in_one_transaction
- removed:
class SpatiaLiteDistanceOperator(SpatialOperator) - removed:
field SpatiaLiteOperations.area - removed:
field SpatiaLiteOperations.centroid - removed:
field SpatiaLiteOperations.contained - removed:
field SpatiaLiteOperations.difference - removed:
field SpatiaLiteOperations.distance - removed:
field SpatiaLiteOperations.envelope - removed:
field SpatiaLiteOperations.from_wkb - removed:
field SpatiaLiteOperations.geojson - removed:
field SpatiaLiteOperations.gml - removed:
field SpatiaLiteOperations.intersection - removed:
field SpatiaLiteOperations.kml - removed:
field SpatiaLiteOperations.length - removed:
field SpatiaLiteOperations.num_geom - removed:
field SpatiaLiteOperations.num_points - removed:
field SpatiaLiteOperations.point_on_surface - removed:
field SpatiaLiteOperations.scale - removed:
field SpatiaLiteOperations.select - removed:
field SpatiaLiteOperations.svg - removed:
field SpatiaLiteOperations.sym_difference - removed:
field SpatiaLiteOperations.transform - removed:
field SpatiaLiteOperations.translate - removed:
field SpatiaLiteOperations.union - removed:
field SpatiaLiteOperations.version_regex - removed:
method SpatiaLiteDistanceOperator.as_sql(connection, lookup, template_params, sql_params) - removed:
method SpatiaLiteOperations.convert_geometry(value, expression, connection, context) - removed:
method SpatiaLiteOperations.get_db_converters(expression) - removed:
method SpatiaLiteOperations.get_geom_placeholder(f, value, compiler) - removed:
property SpatiaLiteOperations.function_names - changed:
method SpatiaLiteOperations.convert_extent(box, srid) → method SpatiaLiteOperations.convert_extent(box) - changed:
method SpatiaLiteOperations.get_distance(f, value, lookup_type, **kwargs) → method SpatiaLiteOperations.get_distance(f, value, lookup_type) - added:
class SpatialiteNullCheckOperator(SpatialOperator) - added:
field SpatiaLiteOperations.function_names - added:
method SpatiaLiteOperations.get_geometry_converter(expression) - added:
method SpatialiteNullCheckOperator.as_sql(connection, lookup, template_params, sql_params) - added:
property SpatiaLiteOperations.select
- changed:
method SpatialiteSchemaEditor.alter_db_table(model, old_db_table, new_db_table) → method SpatialiteSchemaEditor.alter_db_table(model, old_db_table, new_db_table, disable_constraints=…)
- changed:
class SpatialOperator(object) → class SpatialOperator
- removed:
export GeoManager - added:
export django
- changed:
method Extent.convert_value(value, expression, connection, context) → method Extent.convert_value(value, expression, connection) - changed:
method Extent3D.convert_value(value, expression, connection, context) → method Extent3D.convert_value(value, expression, connection) - added:
field Collect.output_field_class - added:
field MakeLine.output_field_class - added:
field Union.output_field_class
- removed:
class GeoSelectFormatMixin(object) - removed:
field BaseSpatialField.geodetic_units - removed:
method BaseSpatialField.get_db_prep_save(value, connection) - removed:
method GeoSelectFormatMixin.select_format(compiler, sql, params) - removed:
method GeometryField.from_db_value(value, expression, connection, context) - removed:
method GeometryField.get_db_prep_value(value, connection, *args, **kwargs) - removed:
method GeometryField.get_distance(value, lookup_type, connection) - removed:
method RasterField.get_db_prep_value(value, connection, prepared=…) - changed:
class ExtentField(GeoSelectFormatMixin, Field) → class ExtentField(Field) - changed:
class GeometryField(GeoSelectFormatMixin, BaseSpatialField) → class GeometryField(BaseSpatialField) - changed:
constructor GeometryField(verbose_name=…, dim=…, geography=…, **kwargs) → constructor GeometryField(verbose_name=…, dim=…, geography=…, *, extent=…, tolerance=…, **kwargs) - changed:
method RasterField.from_db_value(value, expression, connection, context) → method RasterField.from_db_value(value, expression, connection) - added:
field GeometryCollectionField.geom_class - added:
field GeometryField.geom_class - added:
field LineStringField.geom_class - added:
field MultiLineStringField.geom_class - added:
field MultiPointField.geom_class - added:
field MultiPolygonField.geom_class - added:
field PointField.geom_class - added:
field PolygonField.geom_class - added:
method BaseSpatialField.get_db_prep_value(value, connection, *args, **kwargs) - added:
method ExtentField.select_format(compiler, sql, params) - added:
method GeometryField.select_format(compiler, sql, params) - added:
variable SRIDCacheEntry
- removed:
class GeoFuncWithGeoParam(GeoFunc) - removed:
class GeomValue(Value) - removed:
constructor GeoFunc(*expressions, **extra) - removed:
constructor GeoFuncWithGeoParam(expression, geom, *expressions, **extra) - removed:
field Area.output_field_class - removed:
field AsGML.output_field_class - removed:
field AsGeoJSON.output_field_class - removed:
field AsSVG.output_field_class - removed:
field Distance.output_field_class - removed:
field GeoFunc.function - removed:
field GeoFunc.geom_param_pos - removed:
field GeoFunc.output_field_class - removed:
field GeoHash.output_field_class - removed:
field GeomValue.geography - removed:
field IsValid.output_field_class - removed:
field Length.output_field_class - removed:
field MemSize.output_field_class - removed:
field NumGeometries.output_field_class - removed:
field NumPoints.output_field_class - removed:
field Perimeter.output_field_class - removed:
method Area.as_oracle(compiler, connection) - removed:
method Distance.as_oracle(compiler, connection) - removed:
method DistanceResultMixin.convert_value(value, expression, connection, context) - removed:
method GeoFunc.as_sql(compiler, connection, **extra_context) - removed:
method GeoFunc.resolve_expression(*args, **kwargs) - removed:
method GeomValue.as_mysql(compiler, connection) - removed:
method GeomValue.as_postgresql(compiler, connection) - removed:
method GeomValue.as_sql(compiler, connection) - removed:
method NumPoints.as_sql(compiler, connection) - removed:
property GeoFunc.geo_field - removed:
property GeoFunc.name - removed:
property GeoFunc.srid - removed:
property GeomValue.srid - removed:
property Transform.srid - changed:
class Centroid(OracleToleranceMixin, GeoFunc) → class Centroid(OracleToleranceMixin, GeomOutputGeoFunc) - changed:
class Difference(OracleToleranceMixin, GeoFuncWithGeoParam) → class Difference(OracleToleranceMixin, GeomOutputGeoFunc) - changed:
class Distance(DistanceResultMixin, OracleToleranceMixin, GeoFuncWithGeoParam) → class Distance(DistanceResultMixin, OracleToleranceMixin, GeoFunc) - changed:
class DistanceResultMixin(object) → class DistanceResultMixin - changed:
class Envelope(GeoFunc) → class Envelope(GeomOutputGeoFunc) - changed:
class ForceRHR(GeoFunc) → class ForceRHR(GeomOutputGeoFunc) - changed:
class GeoFunc(Func) → class GeoFunc(GeoFuncMixin, Func) - changed:
class Intersection(OracleToleranceMixin, GeoFuncWithGeoParam) → class Intersection(OracleToleranceMixin, GeomOutputGeoFunc) - changed:
class IsValid(OracleToleranceMixin, GeoFunc) → class IsValid(OracleToleranceMixin, GeoFuncMixin, Transform) - changed:
class OracleToleranceMixin(object) → class OracleToleranceMixin - changed:
class PointOnSurface(OracleToleranceMixin, GeoFunc) → class PointOnSurface(OracleToleranceMixin, GeomOutputGeoFunc) - changed:
class SQLiteDecimalToFloatMixin(object) → class SQLiteDecimalToFloatMixin - changed:
class Scale(SQLiteDecimalToFloatMixin, GeoFunc) → class Scale(SQLiteDecimalToFloatMixin, GeomOutputGeoFunc) - changed:
class SnapToGrid(SQLiteDecimalToFloatMixin, GeoFunc) → class SnapToGrid(SQLiteDecimalToFloatMixin, GeomOutputGeoFunc) - changed:
class SymDifference(OracleToleranceMixin, GeoFuncWithGeoParam) → class SymDifference(OracleToleranceMixin, GeomOutputGeoFunc) - changed:
class Transform(GeoFunc) → class Transform(GeomOutputGeoFunc) - changed:
class Union(OracleToleranceMixin, GeoFuncWithGeoParam) → class Union(OracleToleranceMixin, GeomOutputGeoFunc) - changed:
method AsKML.as_sqlite(compiler, connection) → method AsKML.as_sqlite(compiler, connection, **extra_context) - changed:
method BoundingCircle.as_oracle(compiler, connection) → method BoundingCircle.as_oracle(compiler, connection, **extra_context) - changed:
method Distance.as_postgresql(compiler, connection) → method Distance.as_postgresql(compiler, connection, **extra_context) - changed:
method Length.as_postgresql(compiler, connection) → method Length.as_postgresql(compiler, connection, **extra_context) - changed:
method Length.as_sql(compiler, connection) → method Length.as_sql(compiler, connection, **extra_context) - changed:
method Length.as_sqlite(compiler, connection) → method Length.as_sqlite(compiler, connection, **extra_context) - changed:
method OracleToleranceMixin.as_oracle(compiler, connection) → method OracleToleranceMixin.as_oracle(compiler, connection, **extra_context) - changed:
method Perimeter.as_postgresql(compiler, connection) → method Perimeter.as_postgresql(compiler, connection, **extra_context) - changed:
method Perimeter.as_sqlite(compiler, connection) → method Perimeter.as_sqlite(compiler, connection, **extra_context) - changed:
method SQLiteDecimalToFloatMixin.as_sqlite(compiler, connection) → method SQLiteDecimalToFloatMixin.as_sqlite(compiler, connection, **extra_context) - changed:
method Translate.as_sqlite(compiler, connection) → method Translate.as_sqlite(compiler, connection, **extra_context) - added:
class Azimuth(GeoFunc) - added:
class ForcePolygonCW(GeomOutputGeoFunc) - added:
class GeoFuncMixin - added:
class GeomOutputGeoFunc(GeoFunc) - added:
class LineLocatePoint(GeoFunc) - added:
constructor ForceRHR(*args, **kwargs) - added:
constructor GeoFuncMixin(*expressions, **extra) - added:
field AsGML.output_field - added:
field AsGeoJSON.output_field - added:
field AsSVG.output_field - added:
field Azimuth.arity - added:
field Azimuth.geom_param_pos - added:
field Azimuth.output_field - added:
field Difference.geom_param_pos - added:
field Distance.geom_param_pos - added:
field ForcePolygonCW.arity - added:
field GeoFuncMixin.function - added:
field GeoFuncMixin.geom_param_pos - added:
field GeoHash.output_field - added:
field Intersection.geom_param_pos - added:
field IsValid.lookup_name - added:
field IsValid.output_field - added:
field LineLocatePoint.arity - added:
field LineLocatePoint.geom_param_pos - added:
field LineLocatePoint.output_field - added:
field MemSize.output_field - added:
field NumGeometries.output_field - added:
field NumPoints.output_field - added:
field SymDifference.geom_param_pos - added:
field Union.geom_param_pos - added:
method GeoFuncMixin.as_sql(compiler, connection, function=…, **extra_context) - added:
method GeoFuncMixin.resolve_expression(*args, **kwargs) - added:
method GeoHash.as_mysql(compiler, connection, **extra_context) - added:
property Area.output_field - added:
property DistanceResultMixin.output_field - added:
property GeoFuncMixin.geo_field - added:
property GeoFuncMixin.name - added:
property GeomOutputGeoFunc.output_field
- removed:
class ExactLookup(SameAsLookup) - removed:
class IsValidLookup(GISLookup) - removed:
field ExactLookup.lookup_name - removed:
field IsValidLookup.lookup_name - removed:
field IsValidLookup.sql_template - removed:
method DistanceLookupBase.process_rhs(compiler, connection) - removed:
method IsValidLookup.as_sql(compiler, connection) - removed:
method RelateLookup.get_db_prep_lookup(value, connection) - removed:
variable gis_lookups - changed:
class DistanceGTELookup(DistanceLookupBase) → class DistanceGTELookup(DistanceLookupFromFunction) - changed:
class DistanceGTLookup(DistanceLookupBase) → class DistanceGTLookup(DistanceLookupFromFunction) - changed:
class DistanceLTELookup(DistanceLookupBase) → class DistanceLTELookup(DistanceLookupFromFunction) - changed:
class DistanceLTLookup(DistanceLookupBase) → class DistanceLTLookup(DistanceLookupFromFunction) - changed:
constructor GISLookup(*args, **kwargs) → constructor GISLookup(lhs, rhs) - added:
class DistanceLookupFromFunction(DistanceLookupBase) - added:
field DistanceGTELookup.op - added:
field DistanceGTLookup.op - added:
field DistanceLTELookup.op - added:
field DistanceLTLookup.op - added:
method DWithinLookup.process_rhs(compiler, connection) - added:
method DistanceLookupBase.process_distance(compiler, connection) - added:
method DistanceLookupBase.process_rhs_params() - added:
method DistanceLookupFromFunction.as_sql(compiler, connection) - added:
method GISLookup.process_rhs_params() - added:
method RelateLookup.process_rhs(compiler, connection)
- removed:
class GeoManager(Manager.from_queryset(GeoQuerySet)) - removed:
constructor GeoManager(*args, **kwargs) - removed:
field GeoManager.silence_use_for_related_fields_deprecation - removed:
field GeoManager.use_for_related_fields
- changed:
constructor SpatialProxy(klass, field) → constructor SpatialProxy(klass, field, load_func=…)
- removed:
class GeoQuerySet(QuerySet) - removed:
method GeoQuerySet.area(tolerance=…, **kwargs) - removed:
method GeoQuerySet.centroid(**kwargs) - removed:
method GeoQuerySet.difference(geom, **kwargs) - removed:
method GeoQuerySet.distance(geom, **kwargs) - removed:
method GeoQuerySet.envelope(**kwargs) - removed:
method GeoQuerySet.force_rhr(**kwargs) - removed:
method GeoQuerySet.geohash(precision=…, **kwargs) - removed:
method GeoQuerySet.geojson(precision=…, crs=…, bbox=…, **kwargs) - removed:
method GeoQuerySet.gml(precision=…, version=…, **kwargs) - removed:
method GeoQuerySet.intersection(geom, **kwargs) - removed:
method GeoQuerySet.kml(**kwargs) - removed:
method GeoQuerySet.length(**kwargs) - removed:
method GeoQuerySet.mem_size(**kwargs) - removed:
method GeoQuerySet.num_geom(**kwargs) - removed:
method GeoQuerySet.num_points(**kwargs) - removed:
method GeoQuerySet.perimeter(**kwargs) - removed:
method GeoQuerySet.point_on_surface(**kwargs) - removed:
method GeoQuerySet.reverse_geom(**kwargs) - removed:
method GeoQuerySet.scale(x, y, z=…, **kwargs) - removed:
method GeoQuerySet.snap_to_grid(*args, **kwargs) - removed:
method GeoQuerySet.svg(relative=…, precision=…, **kwargs) - removed:
method GeoQuerySet.sym_difference(geom, **kwargs) - removed:
method GeoQuerySet.transform(srid=…, **kwargs) - removed:
method GeoQuerySet.translate(x, y, z=…, **kwargs) - removed:
method GeoQuerySet.union(geom, **kwargs)
- removed:
export GMLField - removed:
export GeomField
- removed:
class BaseField(object) - removed:
class GMLField(BaseField) - removed:
class GeomField(GeoSelectFormatMixin, BaseField) - removed:
field BaseField.empty_strings_allowed - removed:
field GeomField.geom_type - removed:
method BaseField.get_db_converters(connection) - removed:
method BaseField.select_format(compiler, sql, params) - removed:
method GMLField.from_db_value(value, expression, connection, context) - removed:
method GMLField.get_internal_type() - removed:
method GeomField.from_db_value(value, expression, connection, context) - removed:
method GeomField.get_internal_type() - changed:
class AreaField(BaseField) → class AreaField(models.FloatField) - changed:
class DistanceField(BaseField) → class DistanceField(models.FloatField) - changed:
constructor AreaField(area_att=…) → constructor AreaField(geo_field) - changed:
constructor DistanceField(distance_att) → constructor DistanceField(geo_field) - changed:
method AreaField.from_db_value(value, expression, connection, context) → method AreaField.from_db_value(value, expression, connection) - changed:
method DistanceField.from_db_value(value, expression, connection, context) → method DistanceField.from_db_value(value, expression, connection) - added:
method AreaField.get_db_prep_value(value, connection, prepared=…) - added:
method AreaField.get_prep_value(value) - added:
method DistanceField.get_db_prep_value(value, connection, prepared=…) - added:
method DistanceField.get_prep_value(value)
- changed:
class GeoFeedMixin(object) → class GeoFeedMixin
- changed:
constructor GeometryField(**kwargs) → constructor GeometryField(*, srid=…, geom_type=…, **kwargs)
- added:
field OSMWidget.default_zoom - added:
method OpenLayersWidget.deserialize(value)
- removed:
export OGRException - removed:
export OGRIndexError
- changed:
class Envelope(object) → class Envelope
- removed:
class OGRIndexError(GDALException, KeyError) - removed:
field OGRIndexError.silent_variable_failure - removed:
variable OGRException
- added:
static method OGRGeometry.from_json(geom_input)
- changed:
class OGRGeomType(object) → class OGRGeomType
- added:
function chararray_output(func, argtypes, errcheck=…)
- added:
variable create_vsi_file_from_mem_buffer - added:
variable free_dsl - added:
variable get_band_color_interp - added:
variable get_ds_info - added:
variable get_ds_metadata - added:
variable get_ds_metadata_domain_list - added:
variable get_ds_metadata_item - added:
variable get_mem_buffer_from_vsi_file - added:
variable set_ds_metadata - added:
variable set_ds_metadata_item - added:
variable unlink_vsi_file
- changed:
class GDALBand(GDALBase) → class GDALBand(GDALRasterBase) - added:
method GDALBand.color_interp(as_string=…)
- added:
class GDALRasterBase(GDALBase) - added:
property GDALRasterBase.metadata
- added:
variable GDAL_COLOR_TYPES - added:
variable VSI_DELETE_BUFFER_ON_READ - added:
variable VSI_FILESYSTEM_BASE_PATH - added:
variable VSI_TAKE_BUFFER_OWNERSHIP
- changed:
class GDALRaster(GDALBase) → class GDALRaster(GDALRasterBase) - added:
property GDALRaster.info - added:
property GDALRaster.is_vsi_based - added:
property GDALRaster.vsi_buffer
- removed:
export GeoIP - removed:
export GeoIPException - removed:
variable HAS_GEOIP
- removed:
class GeoIP(object) - removed:
class GeoIPException(Exception) - removed:
constructor GeoIP(path=…, cache=…, country=…, city=…) - removed:
field GeoIP.GEOIP_CHECK_CACHE - removed:
field GeoIP.GEOIP_INDEX_CACHE - removed:
field GeoIP.GEOIP_MEMORY_CACHE - removed:
field GeoIP.GEOIP_MMAP_CACHE - removed:
field GeoIP.GEOIP_STANDARD - removed:
field GeoIP.cache_options - removed:
field GeoIP.country_code_by_addr - removed:
field GeoIP.country_code_by_name - removed:
field GeoIP.country_name_by_addr - removed:
field GeoIP.country_name_by_name - removed:
field GeoIP.record_by_addr - removed:
field GeoIP.record_by_name - removed:
field GeoIP.region_by_addr - removed:
field GeoIP.region_by_name - removed:
method GeoIP.city(query) - removed:
method GeoIP.coords(query, ordering=…) - removed:
method GeoIP.country(query) - removed:
method GeoIP.country_code(query) - removed:
method GeoIP.country_name(query) - removed:
method GeoIP.geos(query) - removed:
method GeoIP.lat_lon(query) - removed:
method GeoIP.lon_lat(query) - removed:
property GeoIP.city_info - removed:
property GeoIP.country_info - removed:
property GeoIP.info - removed:
static method GeoIP.open(full_path, cache) - removed:
variable free_regex - removed:
variable lite_regex
- removed:
variable GEOIP_SETTINGS - removed:
variable free - removed:
variable lgeoip - removed:
variable lib_name - removed:
variable lib_path - removed:
variable libc
- removed:
class GeoIPRecord(Structure) - removed:
class GeoIPTag(Structure) - removed:
class geoip_char_p(c_char_p) - removed:
function check_record(result, func, cargs) - removed:
function check_string(result, func, cargs) - removed:
function record_output(func) - removed:
function string_output(func) - removed:
variable DBTYPE - removed:
variable GEOIP_DEFAULT_ENCODING - removed:
variable GeoIPRecord_delete - removed:
variable GeoIP_country_code_by_addr - removed:
variable GeoIP_country_code_by_name - removed:
variable GeoIP_country_name_by_addr - removed:
variable GeoIP_country_name_by_name - removed:
variable GeoIP_database_info - removed:
variable GeoIP_delete - removed:
variable GeoIP_lib_version - removed:
variable GeoIP_open - removed:
variable GeoIP_record_by_addr - removed:
variable GeoIP_record_by_name - removed:
variable RECTYPE - removed:
variable geoip_char_fields - removed:
variable geoip_encodings
- changed:
class GeoIP2(object) → class GeoIP2
- added:
variable hex_regex - added:
variable json_regex - added:
variable wkt_regex
- removed:
export ImproperlyConfigured - removed:
export settings - removed:
variable Geometry - removed:
variable GeometryException - removed:
variable geom_backend - removed:
variable module
- removed:
export Geometry - removed:
export GeometryException
- removed:
variable hex_regex - removed:
variable json_regex - removed:
variable wkt_regex
- removed:
export geos_version_info - removed:
variable HAS_GEOS
- removed:
field GeometryCollection.geojson - removed:
property GeometryCollection.json - removed:
property MultiPolygon.cascaded_union
- removed:
field GEOSGeometry.destructor - removed:
field GEOSGeometry.geojson - removed:
field GEOSGeometry.has_cs - removed:
field GEOSGeometry.ptr_type - removed:
method GEOSGeometry.buffer(width, quadsegs=…) - removed:
method GEOSGeometry.clone() - removed:
method GEOSGeometry.contains(other) - removed:
method GEOSGeometry.covers(other) - removed:
method GEOSGeometry.crosses(other) - removed:
method GEOSGeometry.difference(other) - removed:
method GEOSGeometry.disjoint(other) - removed:
method GEOSGeometry.distance(other) - removed:
method GEOSGeometry.equals(other) - removed:
method GEOSGeometry.equals_exact(other, tolerance=…) - removed:
method GEOSGeometry.get_srid() - removed:
method GEOSGeometry.intersection(other) - removed:
method GEOSGeometry.intersects(other) - removed:
method GEOSGeometry.normalize() - removed:
method GEOSGeometry.overlaps(other) - removed:
method GEOSGeometry.relate(other) - removed:
method GEOSGeometry.relate_pattern(other, pattern) - removed:
method GEOSGeometry.set_srid(srid) - removed:
method GEOSGeometry.simplify(tolerance=…, preserve_topology=…) - removed:
method GEOSGeometry.sym_difference(other) - removed:
method GEOSGeometry.touches(other) - removed:
method GEOSGeometry.transform(ct, clone=…) - removed:
method GEOSGeometry.union(other) - removed:
method GEOSGeometry.within(other) - removed:
property GEOSGeometry.area - removed:
property GEOSGeometry.boundary - removed:
property GEOSGeometry.centroid - removed:
property GEOSGeometry.convex_hull - removed:
property GEOSGeometry.coord_seq - removed:
property GEOSGeometry.crs - removed:
property GEOSGeometry.dims - removed:
property GEOSGeometry.empty - removed:
property GEOSGeometry.envelope - removed:
property GEOSGeometry.ewkb - removed:
property GEOSGeometry.ewkt - removed:
property GEOSGeometry.extent - removed:
property GEOSGeometry.geom_type - removed:
property GEOSGeometry.geom_typeid - removed:
property GEOSGeometry.hasz - removed:
property GEOSGeometry.hex - removed:
property GEOSGeometry.hexewkb - removed:
property GEOSGeometry.json - removed:
property GEOSGeometry.kml - removed:
property GEOSGeometry.length - removed:
property GEOSGeometry.num_coords - removed:
property GEOSGeometry.num_geom - removed:
property GEOSGeometry.num_points - removed:
property GEOSGeometry.ogr - removed:
property GEOSGeometry.point_on_surface - removed:
property GEOSGeometry.prepared - removed:
property GEOSGeometry.ring - removed:
property GEOSGeometry.simple - removed:
property GEOSGeometry.srid - removed:
property GEOSGeometry.srs - removed:
property GEOSGeometry.unary_union - removed:
property GEOSGeometry.valid - removed:
property GEOSGeometry.valid_reason - removed:
property GEOSGeometry.wkb - removed:
property GEOSGeometry.wkt - removed:
static method GEOSGeometry.from_gml(gml_string) - changed:
class GEOSGeometry(GEOSBase, ListMixin) → class GEOSGeometry(GEOSGeometryBase, ListMixin) - changed:
class LinearGeometryMixin(object) → class LinearGeometryMixin - added:
class GEOSGeometryBase(GEOSBase) - added:
constructor GEOSGeometryBase(ptr, cls) - added:
field GEOSGeometryBase.destructor - added:
field GEOSGeometryBase.geojson - added:
field GEOSGeometryBase.has_cs - added:
field GEOSGeometryBase.ptr_type - added:
method GEOSGeometryBase.buffer(width, quadsegs=…) - added:
method GEOSGeometryBase.buffer_with_style(width, quadsegs=…, end_cap_style=…, join_style=…, mitre_limit=…) - added:
method GEOSGeometryBase.clone() - added:
method GEOSGeometryBase.contains(other) - added:
method GEOSGeometryBase.covers(other) - added:
method GEOSGeometryBase.crosses(other) - added:
method GEOSGeometryBase.difference(other) - added:
method GEOSGeometryBase.disjoint(other) - added:
method GEOSGeometryBase.distance(other) - added:
method GEOSGeometryBase.equals(other) - added:
method GEOSGeometryBase.equals_exact(other, tolerance=…) - added:
method GEOSGeometryBase.intersection(other) - added:
method GEOSGeometryBase.intersects(other) - added:
method GEOSGeometryBase.normalize() - added:
method GEOSGeometryBase.overlaps(other) - added:
method GEOSGeometryBase.relate(other) - added:
method GEOSGeometryBase.relate_pattern(other, pattern) - added:
method GEOSGeometryBase.simplify(tolerance=…, preserve_topology=…) - added:
method GEOSGeometryBase.sym_difference(other) - added:
method GEOSGeometryBase.touches(other) - added:
method GEOSGeometryBase.transform(ct, clone=…) - added:
method GEOSGeometryBase.union(other) - added:
method GEOSGeometryBase.within(other) - added:
property GEOSGeometryBase.area - added:
property GEOSGeometryBase.boundary - added:
property GEOSGeometryBase.centroid - added:
property GEOSGeometryBase.convex_hull - added:
property GEOSGeometryBase.coord_seq - added:
property GEOSGeometryBase.crs - added:
property GEOSGeometryBase.dims - added:
property GEOSGeometryBase.empty - added:
property GEOSGeometryBase.envelope - added:
property GEOSGeometryBase.ewkb - added:
property GEOSGeometryBase.ewkt - added:
property GEOSGeometryBase.extent - added:
property GEOSGeometryBase.geom_type - added:
property GEOSGeometryBase.geom_typeid - added:
property GEOSGeometryBase.hasz - added:
property GEOSGeometryBase.hex - added:
property GEOSGeometryBase.hexewkb - added:
property GEOSGeometryBase.json - added:
property GEOSGeometryBase.kml - added:
property GEOSGeometryBase.length - added:
property GEOSGeometryBase.num_coords - added:
property GEOSGeometryBase.num_geom - added:
property GEOSGeometryBase.num_points - added:
property GEOSGeometryBase.ogr - added:
property GEOSGeometryBase.point_on_surface - added:
property GEOSGeometryBase.prepared - added:
property GEOSGeometryBase.ring - added:
property GEOSGeometryBase.simple - added:
property GEOSGeometryBase.srid - added:
property GEOSGeometryBase.srs - added:
property GEOSGeometryBase.unary_union - added:
property GEOSGeometryBase.valid - added:
property GEOSGeometryBase.valid_reason - added:
property GEOSGeometryBase.wkb - added:
property GEOSGeometryBase.wkt - added:
static method GEOSGeometryBase.from_ewkt(ewkt) - added:
static method GEOSGeometryBase.from_gml(gml_string)
- removed:
function geos_version_info() - removed:
function get_pointer_arr(n) - removed:
method GEOSFuncFactory.get_func(*args, **kwargs) - removed:
variable geos_version - removed:
variable version_regex - changed:
class GEOSFuncFactory(object) → class GEOSFuncFactory - changed:
constructor GEOSFuncFactory(func_name, *args, **kwargs) → constructor GEOSFuncFactory(func_name, *args, restype=…, errcheck=…, argtypes=…, **kwargs) - added:
function geos_version() - added:
function geos_version_tuple() - added:
property GEOSFuncFactory.func
- changed:
class ListMixin(object) → class ListMixin - changed:
method ListMixin.sort(cmp=…, key=…, reverse=…) → method ListMixin.sort(key=…, reverse=…)
- removed:
method Point.get_coords() - removed:
method Point.get_x() - removed:
method Point.get_y() - removed:
method Point.get_z() - removed:
method Point.set_coords(tup) - removed:
method Point.set_x(value) - removed:
method Point.set_y(value) - removed:
method Point.set_z(value)
- removed:
export from_hex - removed:
export from_wkb - removed:
export from_wkt - removed:
export to_hex - removed:
export to_wkb - removed:
export to_wkt
- removed:
method CsOperation.get_func(ordinate=…, get=…) - removed:
method CsOutput.get_func(argtypes) - added:
constructor CsOperation(*args, ordinate=…, get=…, **kwargs)
- removed:
function check_zero(result, func, cargs)
- removed:
method GeomOutput.get_func(argtypes) - removed:
method IntFromGeom.get_func(zero=…) - removed:
variable from_hex - removed:
variable from_wkb - removed:
variable from_wkt - removed:
variable to_hex - removed:
variable to_wkb - removed:
variable to_wkt - added:
field IntFromGeom.errcheck
- changed:
class GEOSFunc(object) → class GEOSFunc
- removed:
variable geos_cascaded_union - added:
variable geos_bufferwithstyle
- changed:
class CPointerBase(object) → class CPointerBase
- changed:
class Deserializer(object) → class Deserializer
- removed:
function render_to_text(*args, **kwargs)
- removed:
export precision_wkt
- changed:
class LayerMapping(object) → class LayerMapping
- removed:
function precision_wkt(geom, prec)
- added:
class NaturalTimeFormatter - added:
field NaturalTimeFormatter.future_substrings - added:
field NaturalTimeFormatter.past_substrings - added:
field NaturalTimeFormatter.time_strings - added:
static method NaturalTimeFormatter.string_for(value)
- changed:
class BaseStorage(object) → class BaseStorage - changed:
class Message(object) → class Message
- changed:
class SuccessMessageMixin(object) → class SuccessMessageMixin
- changed:
class ArrayAgg(Aggregate) → class ArrayAgg(OrderableAggMixin, Aggregate) - changed:
class StringAgg(Aggregate) → class StringAgg(OrderableAggMixin, Aggregate) - changed:
constructor StringAgg(expression, delimiter, distinct=…, **extra) → constructor StringAgg(expression, delimiter, **extra) - changed:
method ArrayAgg.convert_value(value, expression, connection, context) → method ArrayAgg.convert_value(value, expression, connection) - changed:
method JSONBAgg.convert_value(value, expression, connection, context) → method JSONBAgg.convert_value(value, expression, connection) - changed:
method StringAgg.convert_value(value, expression, connection, context) → method StringAgg.convert_value(value, expression, connection) - added:
field ArrayAgg.allow_distinct - added:
field ArrayAgg.template - added:
field JSONBAgg.output_field - added:
field StringAgg.allow_distinct - added:
property ArrayAgg.output_field
- added:
class OrderableAggMixin - added:
constructor OrderableAggMixin(*expressions, ordering=…, **extra) - added:
method OrderableAggMixin.as_sql(compiler, connection) - added:
method OrderableAggMixin.get_source_expressions() - added:
method OrderableAggMixin.get_source_fields() - added:
method OrderableAggMixin.resolve_expression(*args, **kwargs) - added:
method OrderableAggMixin.set_source_expressions(exprs)
- removed:
constructor RegrCount(y, x) - removed:
method StatAggregate.get_source_expressions() - removed:
method StatAggregate.set_source_expressions(exprs) - changed:
constructor CovarPop(y, x, sample=…) → constructor CovarPop(y, x, sample=…, filter=…) - changed:
constructor StatAggregate(y, x, output_field=…) → constructor StatAggregate(y, x, output_field=…, filter=…) - changed:
method RegrCount.convert_value(value, expression, connection, context) → method RegrCount.convert_value(value, expression, connection) - added:
field RegrCount.output_field - added:
field StatAggregate.output_field
- added:
function uninstall_if_needed(setting, value, enter, **kwargs) - added:
variable RANGE_TYPES
- changed:
class ArrayField(Field) → class ArrayField(CheckFieldDefaultMixin, Field) - added:
method ArrayField.get_placeholder(value, compiler, connection)
- changed:
class CIText(object) → class CIText
- changed:
class HStoreField(Field) → class HStoreField(CheckFieldDefaultMixin, Field)
- changed:
class JSONField(Field) → class JSONField(CheckFieldDefaultMixin, Field)
- added:
class CheckFieldDefaultMixin - added:
method CheckFieldDefaultMixin.check(**kwargs)
- added:
class DecimalRangeField(RangeField) - added:
field DecimalRangeField.base_field - added:
field DecimalRangeField.form_field - added:
field DecimalRangeField.range_type - added:
field FloatRangeField.system_check_deprecated_details - added:
method DecimalRangeField.db_type(connection)
- changed:
class AttributeSetter(object) → class AttributeSetter
- changed:
constructor SimpleArrayField(base_field, delimiter=…, max_length=…, min_length=…, *args, **kwargs) → constructor SimpleArrayField(base_field, *, delimiter=…, max_length=…, min_length=…, **kwargs) - changed:
constructor SplitArrayField(base_field, size, remove_trailing_nulls=…, **kwargs) → constructor SplitArrayField(base_field, size, *, remove_trailing_nulls=…, **kwargs) - added:
method SimpleArrayField.clean(value) - added:
method SimpleArrayField.has_changed(initial, data)
- added:
method JSONField.has_changed(initial, data)
- removed:
field FloatRangeField.default_error_messages - removed:
field FloatRangeField.range_type - changed:
class FloatRangeField(BaseRangeField) → class FloatRangeField(DecimalRangeField) - added:
class BaseRangeField(forms.MultiValueField) - added:
class DecimalRangeField(BaseRangeField) - added:
class RangeWidget(MultiWidget) - added:
constructor BaseRangeField(**kwargs) - added:
constructor FloatRangeField(**kwargs) - added:
constructor RangeWidget(base_widget, attrs=…) - added:
field BaseRangeField.default_error_messages - added:
field DecimalRangeField.base_field - added:
field DecimalRangeField.default_error_messages - added:
field DecimalRangeField.range_type - added:
method BaseRangeField.compress(values) - added:
method BaseRangeField.prepare_value(value) - added:
method RangeWidget.decompress(value)
- removed:
constructor TransactionNow(output_field=…, **extra) - added:
class RandomUUID(Func) - added:
field RandomUUID.output_field - added:
field RandomUUID.template - added:
field TransactionNow.output_field
- removed:
field BrinIndex.max_name_length - removed:
method BrinIndex.get_sql_create_template_values(model, schema_editor, using) - removed:
method GinIndex.create_sql(model, schema_editor) - changed:
class BrinIndex(Index) → class BrinIndex(PostgresIndex) - changed:
class GinIndex(Index) → class GinIndex(PostgresIndex) - changed:
constructor BrinIndex(fields=…, name=…, pages_per_range=…) → constructor BrinIndex(*, autosummarize=…, pages_per_range=…, **kwargs) - added:
class BTreeIndex(PostgresIndex) - added:
class GistIndex(PostgresIndex) - added:
class HashIndex(PostgresIndex) - added:
class SpGistIndex(PostgresIndex) - added:
constructor BTreeIndex(*, fillfactor=…, **kwargs) - added:
constructor GinIndex(*, fastupdate=…, gin_pending_list_limit=…, **kwargs) - added:
constructor GistIndex(*, buffering=…, fillfactor=…, **kwargs) - added:
constructor HashIndex(*, fillfactor=…, **kwargs) - added:
constructor SpGistIndex(*, fillfactor=…, **kwargs) - added:
field BTreeIndex.suffix - added:
field GistIndex.suffix - added:
field HashIndex.suffix - added:
field SpGistIndex.suffix - added:
method BTreeIndex.deconstruct() - added:
method BTreeIndex.get_with_params() - added:
method BrinIndex.check_supported(schema_editor) - added:
method BrinIndex.get_with_params() - added:
method GinIndex.check_supported(schema_editor) - added:
method GinIndex.deconstruct() - added:
method GinIndex.get_with_params() - added:
method GistIndex.deconstruct() - added:
method GistIndex.get_with_params() - added:
method HashIndex.deconstruct() - added:
method HashIndex.get_with_params() - added:
method SpGistIndex.deconstruct() - added:
method SpGistIndex.get_with_params()
- added:
class JSONExact(Exact) - added:
field JSONExact.can_use_none_as_rhs - added:
method JSONExact.process_rhs(compiler, connection)
- added:
class BtreeGistExtension(CreateExtension) - added:
class CryptoExtension(CreateExtension) - added:
constructor BtreeGistExtension() - added:
constructor CryptoExtension()
- removed:
field SearchQuery.config - removed:
field SearchQuery.invert - changed:
class SearchQueryCombinable(object) → class SearchQueryCombinable - changed:
class SearchVectorCombinable(object) → class SearchVectorCombinable - changed:
constructor SearchQuery(value, output_field=…, **extra) → constructor SearchQuery(value, output_field=…, *, config=…, invert=…, search_type=…) - added:
field SearchQuery.SEARCH_TYPES - added:
field SearchQuery.output_field - added:
field SearchRank.output_field - added:
field SearchVector.output_field - added:
field TrigramBase.output_field
- added:
class RangeSerializer(BaseSerializer) - added:
method RangeSerializer.serialize()
- added:
function get_citext_oids(connection_alias) - added:
function get_hstore_oids(connection_alias)
- changed:
class KeysValidator(object) → class KeysValidator
- removed:
method SessionBase.iteritems() - removed:
method SessionBase.iterkeys() - removed:
method SessionBase.itervalues() - changed:
class SessionBase(object) → class SessionBase
- changed:
class PickleSerializer(object) → class PickleSerializer - added:
field PickleSerializer.protocol
- removed:
export urlencode - removed:
export urlopen - changed:
class Sitemap(object) → class Sitemap - changed:
constructor GenericSitemap(info_dict, priority=…, changefreq=…) → constructor GenericSitemap(info_dict, priority=…, changefreq=…, protocol=…) - changed:
function ping_google(sitemap_url=…, ping_url=…) → function ping_google(sitemap_url=…, ping_url=…, sitemap_uses_https=…)
- changed:
class RequestSite(object) → class RequestSite
- added:
method StaticFilesConfig.ready()
- added:
function check_finders(app_configs=…, **kwargs)
- changed:
class BaseFinder(object) → class BaseFinder - added:
method BaseFinder.check(**kwargs) - added:
method FileSystemFinder.check(**kwargs)
- added:
method StaticFilesHandler.load_middleware()
- changed:
class HashedFilesMixin(object) → class HashedFilesMixin - added:
constructor CachedStaticFilesStorage(*args, **kwargs)
- changed:
class Feed(object) → class Feed
- added:
export InvalidCacheKey - added:
variable caches
- changed:
class BaseCache(object) → class BaseCache - changed:
class CacheKeyWarning(DjangoRuntimeWarning) → class CacheKeyWarning(RuntimeWarning) - added:
class InvalidCacheKey(ValueError) - added:
function memcache_key_warnings(key) - added:
method BaseCache.touch(key, timeout=…, version=…)
- changed:
class Options(object) → class Options - added:
field DatabaseCache.pickle_protocol - added:
method DatabaseCache.delete_many(keys, version=…) - added:
method DatabaseCache.get_many(keys, version=…) - added:
method DatabaseCache.touch(key, timeout=…, version=…)
- removed:
method DummyCache.delete_many(keys, version=…) - removed:
method DummyCache.get_many(keys, version=…) - removed:
method DummyCache.set_many(data, timeout=…, version=…) - added:
method DummyCache.touch(key, timeout=…, version=…)
- added:
field FileBasedCache.pickle_protocol - added:
method FileBasedCache.touch(key, timeout=…, version=…)
- removed:
function dummy() - changed:
method LocMemCache.get(key, default=…, version=…, acquire_lock=…) → method LocMemCache.get(key, default=…, version=…) - added:
field LocMemCache.pickle_protocol - added:
method LocMemCache.touch(key, timeout=…, version=…)
- removed:
method BaseMemcachedCache.make_key(key, version=…) - added:
method BaseMemcachedCache.validate_key(key) - added:
method MemcachedCache.touch(key, timeout=…, version=…) - added:
method PyLibMCCache.touch(key, timeout=…, version=…)
- removed:
function check_duplicate_middleware_settings(app_configs, **kwargs)
- removed:
function check_duplicate_template_settings(app_configs, **kwargs)
- changed:
class CheckMessage(object) → class CheckMessage
- changed:
class CheckRegistry(object) → class CheckRegistry - changed:
class Tags(object) → class Tags - added:
field Tags.translation
- added:
function check_setting_language_code(app_configs, **kwargs) - added:
variable E001
- removed:
function patch_middleware_message(error)
- removed:
class DjangoRuntimeWarning(RuntimeWarning)
- removed:
field File.size - added:
method ContentFile.write(data) - added:
property File.size
- removed:
method FileSystemStorage.accessed_time(name) - removed:
method FileSystemStorage.created_time(name) - removed:
method FileSystemStorage.modified_time(name) - removed:
method Storage.accessed_time(name) - removed:
method Storage.created_time(name) - removed:
method Storage.modified_time(name) - changed:
class Storage(object) → class Storage - added:
field FileSystemStorage.OS_OPEN_FLAGS - added:
function get_storage_class(import_path=…)
- removed:
field UploadedFile.DEFAULT_CHUNK_SIZE
- removed:
constructor TemporaryFileUploadHandler(*args, **kwargs) - changed:
class FileUploadHandler(object) → class FileUploadHandler
- removed:
field FileProxyMixin.softspace - removed:
field FileProxyMixin.xreadlines - changed:
class FileProxyMixin(object) → class FileProxyMixin - added:
function validate_file_name(name, allow_relative_path=…)
- removed:
constructor BaseHandler() - removed:
method BaseHandler.get_exception_response(request, resolver, status_code, exception) - removed:
method BaseHandler.handle_uncaught_exception(request, resolver, exc_info) - changed:
class BaseHandler(object) → class BaseHandler - added:
function reset_urlconf(sender, **kwargs)
- removed:
variable logger - changed:
function get_exception_response(request, resolver, status_code, exception, sender=…) → function get_exception_response(request, resolver, status_code, exception)
- removed:
variable ISO_8859_1 - removed:
variable UTF_8 - changed:
class LimitedStream(object) → class LimitedStream - changed:
class WSGIRequest(http.HttpRequest) → class WSGIRequest(HttpRequest)
- changed:
class BaseEmailBackend(object) → class BaseEmailBackend
- changed:
constructor EmailBackend(*args, **kwargs) → constructor EmailBackend(*args, file_path=…, **kwargs)
- removed:
field MIMEMixin.as_bytes - removed:
function make_msgid(idstring=…, domain=…) - changed:
class EmailMessage(object) → class EmailMessage
- changed:
class CachedDnsName(object) → class CachedDnsName
- removed:
export force_text - removed:
export lru_cache - removed:
export npath - removed:
export six - removed:
export upath - changed:
class ManagementUtility(object) → class ManagementUtility
- removed:
field BaseCommand.leave_locale_alone - changed:
class BaseCommand(object) → class BaseCommand - changed:
class OutputWrapper(object) → class OutputWrapper(TextIOBase) - changed:
constructor BaseCommand(stdout=…, stderr=…, no_color=…) → constructor BaseCommand(stdout=…, stderr=…, no_color=…, force_color=…) - changed:
constructor CommandParser(cmd, **kwargs) → constructor CommandParser(*, missing_args_message=…, called_from_command_line=…, **kwargs) - changed:
method BaseCommand.create_parser(prog_name, subcommand) → method BaseCommand.create_parser(prog_name, subcommand, **kwargs) - added:
class DjangoHelpFormatter(HelpFormatter) - added:
field BaseCommand.base_stealth_options - added:
field BaseCommand.stealth_options - added:
field DjangoHelpFormatter.show_last - added:
function no_translations(handle_func) - added:
method DjangoHelpFormatter.add_arguments(actions) - added:
method DjangoHelpFormatter.add_usage(usage, actions, *args, **kwargs)
- changed:
class Style(object) → class Style - changed:
function color_style() → function color_style(force_color=…)
- removed:
field Command.leave_locale_alone
- added:
method Command.output_hash(user_settings, default_settings, **options) - added:
method Command.output_unified(user_settings, default_settings, **options)
- added:
field Command.stealth_options
- changed:
method Command.get_meta(table_name, constraints, column_to_field_name) → method Command.get_meta(table_name, constraints, column_to_field_name, is_view, is_partition) - added:
field Command.stealth_options
- added:
variable READ_STDIN
- removed:
field Command.leave_locale_alone - changed:
class BuildFile(object) → class BuildFile - changed:
class TranslatableFile(object) → class TranslatableFile
- added:
static method Command.describe_operation(operation, backwards)
- removed:
field Command.leave_locale_alone - added:
field Command.default_addr - added:
field Command.default_addr_ipv6 - added:
field Command.stealth_options
- removed:
field TemplateCommand.leave_locale_alone
- changed:
function popen_wrapper(args, os_err_exc_type=…, stdout_encoding=…) → function popen_wrapper(args, stdout_encoding=…) - added:
function get_command_line_option(argv, option)
- removed:
variable QuerySetPaginator - changed:
class Page(collections.Sequence) → class Page(collections.abc.Sequence) - changed:
class Paginator(object) → class Paginator - added:
class QuerySetPaginator(Paginator) - added:
constructor QuerySetPaginator(*args, **kwargs) - added:
method Paginator.get_page(number)
- removed:
export six - changed:
class BadSerializer(object) → class BadSerializer
- changed:
class DeserializedObject(object) → class DeserializedObject - changed:
class Deserializer(six.Iterator) → class Deserializer - changed:
class ProgressBar(object) → class ProgressBar - changed:
class Serializer(object) → class Serializer - changed:
constructor DeserializedObject(obj, m2m_data=…) → constructor DeserializedObject(obj, m2m_data=…, deferred_fields=…) - changed:
method Serializer.serialize(queryset, **options) → method Serializer.serialize(queryset, *, stream=…, fields=…, use_natural_foreign_keys=…, use_natural_primary_keys=…, progress_output=…, object_count=…, **options) - added:
class M2MDeserializationError(Exception) - added:
constructor M2MDeserializationError(original_exc, pk) - added:
function deserialize_fk_value(field, field_value, using, handle_forward_references) - added:
function deserialize_m2m_values(field, field_value, using, handle_forward_references) - added:
method DeserializedObject.save_deferred_fields(using=…) - added:
variable DEFER_FIELD
- changed:
function Deserializer(object_list, **options) → function Deserializer(object_list, *, using=…, ignorenonexistent=…, **options)
- changed:
constructor Deserializer(stream_or_string, **options) → constructor Deserializer(stream_or_string, *, using=…, ignorenonexistent=…, **options)
- changed:
class WSGIRequestHandler(simple_server.WSGIRequestHandler, object) → class WSGIRequestHandler(simple_server.WSGIRequestHandler) - changed:
class WSGIServer(simple_server.WSGIServer, object) → class WSGIServer(simple_server.WSGIServer) - changed:
constructor WSGIServer(*args, **kwargs) → constructor WSGIServer(*args, ipv6=…, allow_reuse_address=…, **kwargs) - added:
field WSGIRequestHandler.protocol_version - added:
method WSGIRequestHandler.handle_one_request()
- changed:
class JSONSerializer(object) → class JSONSerializer - changed:
class Signer(object) → class Signer
- removed:
variable ipv4_re - removed:
variable validate_image_file_extension - removed:
variable validate_ipv4_address - changed:
class BaseValidator(object) → class BaseValidator - changed:
class DecimalValidator(object) → class DecimalValidator - changed:
class EmailValidator(object) → class EmailValidator - changed:
class FileExtensionValidator(object) → class FileExtensionValidator - changed:
class RegexValidator(object) → class RegexValidator - added:
class ProhibitNullCharactersValidator - added:
constructor ProhibitNullCharactersValidator(message=…, code=…) - added:
field ProhibitNullCharactersValidator.code - added:
field ProhibitNullCharactersValidator.message - added:
field URLValidator.unsafe_chars - added:
function validate_image_file_extension(value) - added:
function validate_ipv4_address(value)
- changed:
class BaseDatabaseWrapper(object) → class BaseDatabaseWrapper - changed:
constructor BaseDatabaseWrapper(settings_dict, alias=…, allow_thread_sharing=…) → constructor BaseDatabaseWrapper(settings_dict, alias=…) - changed:
method BaseDatabaseWrapper.copy(alias=…, allow_thread_sharing=…) → method BaseDatabaseWrapper.copy(alias=…) - added:
field BaseDatabaseWrapper.display_name - added:
method BaseDatabaseWrapper.dec_thread_sharing() - added:
method BaseDatabaseWrapper.execute_wrapper(wrapper) - added:
method BaseDatabaseWrapper.inc_thread_sharing() - added:
property BaseDatabaseWrapper.allow_thread_sharing
- changed:
class BaseDatabaseClient(object) → class BaseDatabaseClient
- changed:
class BaseDatabaseCreation(object) → class BaseDatabaseCreation - changed:
method BaseDatabaseCreation.clone_test_db(number, verbosity=…, autoclobber=…, keepdb=…) → method BaseDatabaseCreation.clone_test_db(suffix, verbosity=…, autoclobber=…, keepdb=…) - changed:
method BaseDatabaseCreation.destroy_test_db(old_database_name=…, verbosity=…, keepdb=…, number=…) → method BaseDatabaseCreation.destroy_test_db(old_database_name=…, verbosity=…, keepdb=…, suffix=…) - changed:
method BaseDatabaseCreation.get_test_db_clone_settings(number) → method BaseDatabaseCreation.get_test_db_clone_settings(suffix) - added:
method BaseDatabaseCreation.log(msg)
- removed:
field BaseDatabaseFeatures.allow_sliced_subqueries - removed:
field BaseDatabaseFeatures.can_introspect_null - removed:
field BaseDatabaseFeatures.requires_sqlparse_for_splitting - removed:
field BaseDatabaseFeatures.supports_1000_query_parameters - removed:
field BaseDatabaseFeatures.supports_microsecond_precision - removed:
field BaseDatabaseFeatures.supports_select_related - removed:
field BaseDatabaseFeatures.uppercases_column_names - removed:
method BaseDatabaseFeatures.introspected_boolean_field_type(field=…, created_separately=…) - removed:
property BaseDatabaseFeatures.supports_stddev - changed:
class BaseDatabaseFeatures(object) → class BaseDatabaseFeatures - added:
field BaseDatabaseFeatures.allow_sliced_subqueries_with_in - added:
field BaseDatabaseFeatures.allows_multiple_constraints_on_same_fields - added:
field BaseDatabaseFeatures.can_introspect_duration_field - added:
field BaseDatabaseFeatures.can_introspect_materialized_views - added:
field BaseDatabaseFeatures.create_test_procedure_with_int_param_sql - added:
field BaseDatabaseFeatures.create_test_procedure_without_params_sql - added:
field BaseDatabaseFeatures.db_functions_convert_bytes_to_str - added:
field BaseDatabaseFeatures.has_select_for_update_of - added:
field BaseDatabaseFeatures.introspected_big_auto_field_type - added:
field BaseDatabaseFeatures.introspected_boolean_field_type - added:
field BaseDatabaseFeatures.max_query_params - added:
field BaseDatabaseFeatures.requires_casted_case_in_updates - added:
field BaseDatabaseFeatures.select_for_update_of_column - added:
field BaseDatabaseFeatures.supported_explain_formats - added:
field BaseDatabaseFeatures.supports_aggregate_filter_clause - added:
field BaseDatabaseFeatures.supports_atomic_references_rename - added:
field BaseDatabaseFeatures.supports_callproc_kwargs - added:
field BaseDatabaseFeatures.supports_cast_with_precision - added:
field BaseDatabaseFeatures.supports_default_in_lead_lag - added:
field BaseDatabaseFeatures.supports_functions_in_partial_indexes - added:
field BaseDatabaseFeatures.supports_ignore_conflicts - added:
field BaseDatabaseFeatures.supports_index_on_text_field - added:
field BaseDatabaseFeatures.supports_over_clause - added:
field BaseDatabaseFeatures.supports_parentheses_in_compound - added:
field BaseDatabaseFeatures.supports_partial_indexes - added:
field BaseDatabaseFeatures.supports_table_check_constraints - added:
field BaseDatabaseFeatures.time_cast_precision - added:
field BaseDatabaseFeatures.validates_explain_options - added:
property BaseDatabaseFeatures.supports_explaining_query_execution
- removed:
method BaseDatabaseIntrospection.column_name_converter(name) - removed:
method BaseDatabaseIntrospection.get_indexes(cursor, table_name) - removed:
method BaseDatabaseIntrospection.table_name_converter(name) - changed:
class BaseDatabaseIntrospection(object) → class BaseDatabaseIntrospection - added:
method BaseDatabaseIntrospection.get_sequences(cursor, table_name, table_fields=…) - added:
method BaseDatabaseIntrospection.identifier_converter(name)
- removed:
method BaseDatabaseOperations.check_aggregate_support(aggregate_func) - removed:
method BaseDatabaseOperations.fulltext_search_sql(field_name) - changed:
class BaseDatabaseOperations(object) → class BaseDatabaseOperations - changed:
method BaseDatabaseOperations.convert_durationfield_value(value, expression, connection, context) → method BaseDatabaseOperations.convert_durationfield_value(value, expression, connection) - changed:
method BaseDatabaseOperations.distinct_sql(fields) → method BaseDatabaseOperations.distinct_sql(fields, params) - changed:
method BaseDatabaseOperations.for_update_sql(nowait=…, skip_locked=…) → method BaseDatabaseOperations.for_update_sql(nowait=…, skip_locked=…, of=…) - added:
field BaseDatabaseOperations.CURRENT_ROW - added:
field BaseDatabaseOperations.FOLLOWING - added:
field BaseDatabaseOperations.PRECEDING - added:
field BaseDatabaseOperations.UNBOUNDED_FOLLOWING - added:
field BaseDatabaseOperations.UNBOUNDED_PRECEDING - added:
field BaseDatabaseOperations.cast_char_field_without_max_length - added:
field BaseDatabaseOperations.cast_data_types - added:
field BaseDatabaseOperations.explain_prefix - added:
method BaseDatabaseOperations.execute_sql_flush(using, sql_list) - added:
method BaseDatabaseOperations.explain_query_prefix(format=…, **options) - added:
method BaseDatabaseOperations.ignore_conflicts_suffix_sql(ignore_conflicts=…) - added:
method BaseDatabaseOperations.insert_statement(ignore_conflicts=…) - added:
method BaseDatabaseOperations.limit_offset_sql(low_mark, high_mark) - added:
method BaseDatabaseOperations.window_frame_end(end) - added:
method BaseDatabaseOperations.window_frame_range_start_end(start=…, end=…) - added:
method BaseDatabaseOperations.window_frame_rows_start_end(start=…, end=…) - added:
method BaseDatabaseOperations.window_frame_start(start)
- changed:
class BaseDatabaseSchemaEditor(object) → class BaseDatabaseSchemaEditor - added:
field BaseDatabaseSchemaEditor.sql_check_constraint - added:
field BaseDatabaseSchemaEditor.sql_constraint - added:
field BaseDatabaseSchemaEditor.sql_create_unique_index - added:
field BaseDatabaseSchemaEditor.sql_delete_constraint - added:
field BaseDatabaseSchemaEditor.sql_delete_procedure - added:
field BaseDatabaseSchemaEditor.sql_unique_constraint - added:
method BaseDatabaseSchemaEditor.add_constraint(model, constraint) - added:
method BaseDatabaseSchemaEditor.remove_constraint(model, constraint) - added:
method BaseDatabaseSchemaEditor.remove_procedure(procedure_name, param_types=…)
- changed:
class BaseDatabaseValidation(object) → class BaseDatabaseValidation
- added:
class Columns(TableColumns) - added:
class ForeignKeyName(TableColumns) - added:
class IndexColumns(Columns) - added:
class IndexName(TableColumns) - added:
class Reference - added:
class Statement(Reference) - added:
class Table(Reference) - added:
class TableColumns(Table) - added:
constructor Columns(table, columns, quote_name, col_suffixes=…) - added:
constructor ForeignKeyName(from_table, from_columns, to_table, to_columns, suffix_template, create_fk_name) - added:
constructor IndexColumns(table, columns, quote_name, col_suffixes=…, opclasses=…) - added:
constructor IndexName(table, columns, suffix, create_index_name) - added:
constructor Statement(template, **parts) - added:
constructor Table(table, quote_name) - added:
constructor TableColumns(table, columns) - added:
method ForeignKeyName.references_column(table, column) - added:
method ForeignKeyName.references_table(table) - added:
method ForeignKeyName.rename_column_references(table, old_column, new_column) - added:
method ForeignKeyName.rename_table_references(old_table, new_table) - added:
method Reference.references_column(table, column) - added:
method Reference.references_table(table) - added:
method Reference.rename_column_references(table, old_column, new_column) - added:
method Reference.rename_table_references(old_table, new_table) - added:
method Statement.references_column(table, column) - added:
method Statement.references_table(table) - added:
method Statement.rename_column_references(table, old_column, new_column) - added:
method Statement.rename_table_references(old_table, new_table) - added:
method Table.references_table(table) - added:
method Table.rename_table_references(old_table, new_table) - added:
method TableColumns.references_column(table, column) - added:
method TableColumns.rename_column_references(table, old_column, new_column)
- added:
field DummyDatabaseFeatures.uses_savepoints
- removed:
function adapt_datetime_warn_on_aware_datetime(value, conv) - removed:
property DatabaseWrapper.data_types - changed:
class CursorWrapper(object) → class CursorWrapper - added:
field DatabaseWrapper.data_types - added:
field DatabaseWrapper.display_name - added:
property DatabaseWrapper.mysql_is_mariadb - added:
property DatabaseWrapper.mysql_server_info
- removed:
field DatabaseFeatures.allow_sliced_subqueries - removed:
field DatabaseFeatures.has_bulk_insert - removed:
field DatabaseFeatures.uses_savepoints - removed:
method DatabaseFeatures.introspected_boolean_field_type(*args, **kwargs) - removed:
property DatabaseFeatures.supports_microsecond_precision - added:
field DatabaseFeatures.allow_sliced_subqueries_with_in - added:
field DatabaseFeatures.can_introspect_duration_field - added:
field DatabaseFeatures.can_introspect_positive_integer_field - added:
field DatabaseFeatures.create_test_procedure_with_int_param_sql - added:
field DatabaseFeatures.create_test_procedure_without_params_sql - added:
field DatabaseFeatures.db_functions_convert_bytes_to_str - added:
field DatabaseFeatures.has_case_insensitive_like - added:
field DatabaseFeatures.introspected_boolean_field_type - added:
field DatabaseFeatures.supported_explain_formats - added:
field DatabaseFeatures.supports_index_on_text_field - added:
field DatabaseFeatures.supports_partial_indexes - added:
field DatabaseFeatures.supports_table_check_constraints - added:
property DatabaseFeatures.has_select_for_update_skip_locked - added:
property DatabaseFeatures.needs_explain_extended - added:
property DatabaseFeatures.supports_default_in_lead_lag - added:
property DatabaseFeatures.supports_over_clause
- removed:
method DatabaseIntrospection.get_indexes(cursor, table_name) - added:
method DatabaseIntrospection.get_sequences(cursor, table_name, table_fields=…)
- removed:
method DatabaseOperations.convert_textfield_value(value, expression, connection, context) - removed:
method DatabaseOperations.fulltext_search_sql(field_name) - changed:
method DatabaseOperations.convert_booleanfield_value(value, expression, connection, context) → method DatabaseOperations.convert_booleanfield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_datetimefield_value(value, expression, connection, context) → method DatabaseOperations.convert_datetimefield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_uuidfield_value(value, expression, connection, context) → method DatabaseOperations.convert_uuidfield_value(value, expression, connection) - added:
field DatabaseOperations.cast_char_field_without_max_length - added:
field DatabaseOperations.cast_data_types - added:
field DatabaseOperations.explain_prefix - added:
method DatabaseOperations.explain_query_prefix(format=…, **options) - added:
method DatabaseOperations.insert_statement(ignore_conflicts=…) - added:
method DatabaseOperations.regex_lookup(lookup_type)
- added:
field DatabaseSchemaEditor.sql_create_index
- removed:
method DatabaseValidation.check_field(field, **kwargs) - added:
method DatabaseValidation.check_field_type(field, field_type)
- removed:
class CursorIterator(six.Iterator) - removed:
constructor CursorIterator(cursor) - removed:
function to_unicode(s) - removed:
method FormatStylePlaceholderCursor.fetchall() - removed:
method FormatStylePlaceholderCursor.fetchmany(size=…) - removed:
method FormatStylePlaceholderCursor.fetchone() - removed:
property DatabaseWrapper.oracle_full_version - changed:
class FormatStylePlaceholderCursor(object) → class FormatStylePlaceholderCursor - changed:
class OracleParam(object) → class OracleParam - changed:
class VariableWrapper(object) → class VariableWrapper - added:
field DatabaseWrapper.display_name - added:
field DatabaseWrapper.validation_class - added:
function wrap_oracle_errors()
- added:
field DatabaseClient.wrapper_name
- removed:
field DatabaseFeatures.allow_sliced_subqueries - removed:
field DatabaseFeatures.empty_fetchmany_value - removed:
field DatabaseFeatures.has_bulk_insert - removed:
field DatabaseFeatures.uppercases_column_names - removed:
field DatabaseFeatures.uses_savepoints - removed:
method DatabaseFeatures.introspected_boolean_field_type(field=…, created_separately=…) - added:
field DatabaseFeatures.allows_multiple_constraints_on_same_fields - added:
field DatabaseFeatures.can_introspect_autofield - added:
field DatabaseFeatures.can_introspect_materialized_views - added:
field DatabaseFeatures.create_test_procedure_with_int_param_sql - added:
field DatabaseFeatures.create_test_procedure_without_params_sql - added:
field DatabaseFeatures.has_case_insensitive_like - added:
field DatabaseFeatures.has_select_for_update_of - added:
field DatabaseFeatures.max_query_params - added:
field DatabaseFeatures.select_for_update_of_column - added:
field DatabaseFeatures.supports_callproc_kwargs - added:
field DatabaseFeatures.supports_ignore_conflicts - added:
field DatabaseFeatures.supports_index_on_text_field - added:
field DatabaseFeatures.supports_over_clause - added:
field DatabaseFeatures.supports_partial_indexes - added:
property DatabaseFeatures.allow_sliced_subqueries_with_in - added:
property DatabaseFeatures.has_fetch_offset_support - added:
property DatabaseFeatures.supports_slicing_ordering_in_compound
- changed:
constructor IntervalToSeconds(expression, **extra) → constructor IntervalToSeconds(expression, *, output_field=…, **extra) - changed:
constructor SecondsToInterval(expression, **extra) → constructor SecondsToInterval(expression, *, output_field=…, **extra)
- removed:
method DatabaseIntrospection.get_indexes(cursor, table_name) - removed:
method DatabaseIntrospection.table_name_converter(name) - added:
method DatabaseIntrospection.get_sequences(cursor, table_name, table_fields=…) - added:
method DatabaseIntrospection.identifier_converter(name) - added:
variable FieldInfo
- removed:
constructor DatabaseOperations(*args, **kwargs) - removed:
field DatabaseOperations.compiler_module - removed:
method DatabaseOperations.autoinc_sql(table, column) - removed:
method DatabaseOperations.convert_empty_values(value, expression, connection, context) - removed:
method DatabaseOperations.date_interval_sql(timedelta) - removed:
method DatabaseOperations.savepoint_create_sql(sid) - removed:
method DatabaseOperations.savepoint_rollback_sql(sid) - changed:
method DatabaseOperations.convert_binaryfield_value(value, expression, connection, context) → method DatabaseOperations.convert_binaryfield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_booleanfield_value(value, expression, connection, context) → method DatabaseOperations.convert_booleanfield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_datefield_value(value, expression, connection, context) → method DatabaseOperations.convert_datefield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_datetimefield_value(value, expression, connection, context) → method DatabaseOperations.convert_datetimefield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_textfield_value(value, expression, connection, context) → method DatabaseOperations.convert_textfield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_timefield_value(value, expression, connection, context) → method DatabaseOperations.convert_timefield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_uuidfield_value(value, expression, connection, context) → method DatabaseOperations.convert_uuidfield_value(value, expression, connection) - added:
field DatabaseOperations.cast_char_field_without_max_length - added:
field DatabaseOperations.cast_data_types - added:
field DatabaseOperations.set_operators - added:
method DatabaseOperations.bulk_batch_size(fields, objs) - added:
method DatabaseOperations.limit_offset_sql(low_mark, high_mark) - added:
method DatabaseOperations.no_limit_value() - added:
property DatabaseOperations.compiler_module - added:
static method DatabaseOperations.convert_empty_bytes(value, expression, connection) - added:
static method DatabaseOperations.convert_empty_string(value, expression, connection)
- added:
field DatabaseSchemaEditor.sql_create_index - added:
method DatabaseSchemaEditor.remove_field(model, field)
- changed:
class InsertIdVar(object) → class InsertIdVar - added:
class BulkInsertMapper - added:
field BulkInsertMapper.BLOB - added:
field BulkInsertMapper.DATE - added:
field BulkInsertMapper.INTERVAL - added:
field BulkInsertMapper.NUMBER - added:
field BulkInsertMapper.TIMESTAMP - added:
field BulkInsertMapper.types
- added:
class DatabaseValidation(BaseDatabaseValidation) - added:
method DatabaseValidation.check_field_type(field, field_type)
- removed:
constructor DatabaseWrapper(*args, **kwargs) - removed:
property DatabaseWrapper.psycopg2_version - added:
field DatabaseWrapper.display_name
- removed:
field DatabaseFeatures.has_bulk_insert - removed:
field DatabaseFeatures.requires_sqlparse_for_splitting - removed:
field DatabaseFeatures.uses_savepoints - removed:
property DatabaseFeatures.has_brin_index_support - removed:
property DatabaseFeatures.has_jsonb_agg - removed:
property DatabaseFeatures.has_jsonb_datatype - removed:
property DatabaseFeatures.has_select_for_update_skip_locked - added:
field DatabaseFeatures.can_introspect_materialized_views - added:
field DatabaseFeatures.create_test_procedure_with_int_param_sql - added:
field DatabaseFeatures.create_test_procedure_without_params_sql - added:
field DatabaseFeatures.has_brin_autosummarize - added:
field DatabaseFeatures.has_brin_index_support - added:
field DatabaseFeatures.has_gin_pending_list_limit - added:
field DatabaseFeatures.has_jsonb_agg - added:
field DatabaseFeatures.has_phraseto_tsquery - added:
field DatabaseFeatures.has_select_for_update_of - added:
field DatabaseFeatures.has_select_for_update_skip_locked - added:
field DatabaseFeatures.requires_casted_case_in_updates - added:
field DatabaseFeatures.supported_explain_formats - added:
field DatabaseFeatures.supports_aggregate_filter_clause - added:
field DatabaseFeatures.supports_ignore_conflicts - added:
field DatabaseFeatures.supports_over_clause - added:
field DatabaseFeatures.supports_table_partitions - added:
property DatabaseFeatures.is_postgresql_10 - added:
property DatabaseFeatures.is_postgresql_9_5 - added:
property DatabaseFeatures.is_postgresql_9_6
- removed:
method DatabaseIntrospection.get_indexes(cursor, table_name) - added:
method DatabaseIntrospection.get_sequences(cursor, table_name, table_fields=…)
- removed:
method DatabaseOperations.fulltext_search_sql(field_name) - removed:
method DatabaseOperations.last_insert_id(cursor, table_name, pk_name) - changed:
method DatabaseOperations.distinct_sql(fields) → method DatabaseOperations.distinct_sql(fields, params) - added:
field DatabaseOperations.cast_char_field_without_max_length - added:
field DatabaseOperations.cast_data_types - added:
field DatabaseOperations.explain_options - added:
field DatabaseOperations.explain_prefix - added:
method DatabaseOperations.explain_query_prefix(format=…, **options) - added:
method DatabaseOperations.ignore_conflicts_suffix_sql(ignore_conflicts=…) - added:
method DatabaseOperations.window_frame_range_start_end(start=…, end=…)
- removed:
field DatabaseSchemaEditor.sql_create_text_index - removed:
field DatabaseSchemaEditor.sql_create_varchar_index - added:
field DatabaseSchemaEditor.sql_delete_index - added:
field DatabaseSchemaEditor.sql_delete_procedure
- removed:
function get_version(connection) - removed:
variable VERSION_RE
- added:
export RemovedInDjango30Warning
- removed:
function adapt_datetime_warn_on_aware_datetime(value) - added:
field DatabaseWrapper.data_type_check_constraints - added:
field DatabaseWrapper.display_name - added:
function check_sqlite_version() - added:
function list_aggregate(function) - added:
function none_guard(func) - added:
method DatabaseWrapper.disable_constraint_checking() - added:
method DatabaseWrapper.enable_constraint_checking()
- changed:
method DatabaseCreation.get_test_db_clone_settings(number) → method DatabaseCreation.get_test_db_clone_settings(suffix)
- removed:
field DatabaseFeatures.has_bulk_insert - removed:
field DatabaseFeatures.supports_1000_query_parameters - removed:
field DatabaseFeatures.supports_column_check_constraints - removed:
field DatabaseFeatures.supports_foreign_keys - removed:
property DatabaseFeatures.can_release_savepoints - removed:
property DatabaseFeatures.can_share_in_memory_db - removed:
property DatabaseFeatures.supports_index_column_ordering - removed:
property DatabaseFeatures.supports_stddev - removed:
property DatabaseFeatures.uses_savepoints - added:
field DatabaseFeatures.can_alter_table_rename_column - added:
field DatabaseFeatures.can_defer_constraint_checks - added:
field DatabaseFeatures.can_introspect_autofield - added:
field DatabaseFeatures.can_introspect_duration_field - added:
field DatabaseFeatures.can_release_savepoints - added:
field DatabaseFeatures.introspected_big_auto_field_type - added:
field DatabaseFeatures.max_query_params - added:
field DatabaseFeatures.supports_atomic_references_rename - added:
field DatabaseFeatures.supports_cast_with_precision - added:
field DatabaseFeatures.supports_functions_in_partial_indexes - added:
field DatabaseFeatures.supports_parentheses_in_compound - added:
field DatabaseFeatures.supports_pragma_foreign_key_check - added:
field DatabaseFeatures.time_cast_precision
- removed:
method DatabaseIntrospection.column_name_converter(name) - removed:
method DatabaseIntrospection.get_indexes(cursor, table_name) - changed:
class FlexibleFieldLookupDict(object) → class FlexibleFieldLookupDict - added:
method DatabaseIntrospection.get_field_type(data_type, description) - added:
method DatabaseIntrospection.get_sequences(cursor, table_name, table_fields=…) - added:
variable FieldInfo
- removed:
method DatabaseOperations.convert_decimalfield_value(value, expression, connection, context) - changed:
method DatabaseOperations.convert_booleanfield_value(value, expression, connection, context) → method DatabaseOperations.convert_booleanfield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_datefield_value(value, expression, connection, context) → method DatabaseOperations.convert_datefield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_datetimefield_value(value, expression, connection, context) → method DatabaseOperations.convert_datetimefield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_timefield_value(value, expression, connection, context) → method DatabaseOperations.convert_timefield_value(value, expression, connection) - changed:
method DatabaseOperations.convert_uuidfield_value(value, expression, connection, context) → method DatabaseOperations.convert_uuidfield_value(value, expression, connection) - added:
field DatabaseOperations.cast_char_field_without_max_length - added:
field DatabaseOperations.cast_data_types - added:
field DatabaseOperations.explain_prefix - added:
method DatabaseOperations.get_decimalfield_converter(expression) - added:
method DatabaseOperations.insert_statement(ignore_conflicts=…)
- added:
field DatabaseSchemaEditor.sql_create_fk - added:
method DatabaseSchemaEditor.add_constraint(model, constraint) - added:
method DatabaseSchemaEditor.alter_db_table(model, old_db_table, new_db_table, disable_constraints=…) - added:
method DatabaseSchemaEditor.alter_field(model, old_field, new_field, strict=…) - added:
method DatabaseSchemaEditor.remove_constraint(model, constraint)
- removed:
function rev_typecast_decimal(d) - removed:
function typecast_decimal(s) - changed:
class CursorWrapper(object) → class CursorWrapper - changed:
method CursorWrapper.callproc(procname, params=…) → method CursorWrapper.callproc(procname, params=…, kparams=…) - added:
function names_digest(*args, length)
- changed:
class MigrationAutodetector(object) → class MigrationAutodetector - added:
method MigrationAutodetector.create_altered_constraints() - added:
method MigrationAutodetector.generate_added_constraints() - added:
method MigrationAutodetector.generate_removed_constraints()
- changed:
class MigrationExecutor(object) → class MigrationExecutor - added:
method MigrationExecutor.record_migration(migration)
- removed:
method DummyNode.promote() - removed:
method MigrationGraph.clear_cache() - removed:
method Node.ancestors() - removed:
method Node.descendants() - removed:
variable RECURSION_DEPTH_WARNING - changed:
class MigrationGraph(object) → class MigrationGraph - changed:
class Node(object) → class Node - changed:
method MigrationGraph.ensure_not_cyclic(start, get_children) → method MigrationGraph.ensure_not_cyclic()
- changed:
class MigrationLoader(object) → class MigrationLoader
- changed:
class Migration(object) → class Migration
- added:
export AddConstraint - added:
export RemoveConstraint
- changed:
class Operation(object) → class Operation - changed:
method Operation.reduce(operation, in_between, app_label=…) → method Operation.reduce(operation, app_label=…)
- changed:
constructor FieldOperation(model_name, name) → constructor FieldOperation(model_name, name, field=…) - changed:
method AddField.reduce(operation, in_between, app_label=…) → method AddField.reduce(operation, app_label=…) - changed:
method AlterField.reduce(operation, in_between, app_label=…) → method AlterField.reduce(operation, app_label=…) - changed:
method FieldOperation.reduce(operation, in_between, app_label=…) → method FieldOperation.reduce(operation, app_label=…) - changed:
method RenameField.reduce(operation, in_between, app_label=…) → method RenameField.reduce(operation, app_label=…) - added:
method RemoveField.reduce(operation, app_label=…)
- removed:
class FieldRelatedOptionOperation(ModelOptionOperation) - removed:
method AlterIndexTogether.database_backwards(app_label, schema_editor, from_state, to_state) - removed:
method AlterIndexTogether.database_forwards(app_label, schema_editor, from_state, to_state) - removed:
method AlterIndexTogether.deconstruct() - removed:
method AlterIndexTogether.describe() - removed:
method AlterIndexTogether.references_field(model_name, name, app_label=…) - removed:
method AlterIndexTogether.state_forwards(app_label, state) - removed:
method AlterUniqueTogether.database_backwards(app_label, schema_editor, from_state, to_state) - removed:
method AlterUniqueTogether.database_forwards(app_label, schema_editor, from_state, to_state) - removed:
method AlterUniqueTogether.deconstruct() - removed:
method AlterUniqueTogether.describe() - removed:
method AlterUniqueTogether.references_field(model_name, name, app_label=…) - removed:
method AlterUniqueTogether.state_forwards(app_label, state) - removed:
method CreateModel.model_to_key(model) - removed:
method FieldRelatedOptionOperation.reduce(operation, in_between, app_label=…) - changed:
class AlterIndexTogether(FieldRelatedOptionOperation) → class AlterIndexTogether(AlterTogetherOptionOperation) - changed:
class AlterOrderWithRespectTo(FieldRelatedOptionOperation) → class AlterOrderWithRespectTo(ModelOptionOperation) - changed:
class AlterUniqueTogether(FieldRelatedOptionOperation) → class AlterUniqueTogether(AlterTogetherOptionOperation) - changed:
method AlterModelTable.reduce(operation, in_between, app_label=…) → method AlterModelTable.reduce(operation, app_label=…) - changed:
method CreateModel.reduce(operation, in_between, app_label=…) → method CreateModel.reduce(operation, app_label=…) - changed:
method ModelOperation.reduce(operation, in_between, app_label=…) → method ModelOperation.reduce(operation, app_label=…) - changed:
method ModelOptionOperation.reduce(operation, in_between, app_label=…) → method ModelOptionOperation.reduce(operation, app_label=…) - changed:
method RenameModel.reduce(operation, in_between, app_label=…) → method RenameModel.reduce(operation, app_label=…) - added:
class AddConstraint(IndexOperation) - added:
class AlterTogetherOptionOperation(ModelOptionOperation) - added:
class RemoveConstraint(IndexOperation) - added:
constructor AddConstraint(model_name, constraint) - added:
constructor AlterTogetherOptionOperation(name, option_value) - added:
constructor RemoveConstraint(model_name, name) - added:
field AddConstraint.option_name - added:
field AlterOrderWithRespectTo.option_name - added:
field AlterTogetherOptionOperation.option_name - added:
field RemoveConstraint.option_name - added:
method AddConstraint.database_backwards(app_label, schema_editor, from_state, to_state) - added:
method AddConstraint.database_forwards(app_label, schema_editor, from_state, to_state) - added:
method AddConstraint.deconstruct() - added:
method AddConstraint.describe() - added:
method AddConstraint.state_forwards(app_label, state) - added:
method AlterTogetherOptionOperation.database_backwards(app_label, schema_editor, from_state, to_state) - added:
method AlterTogetherOptionOperation.database_forwards(app_label, schema_editor, from_state, to_state) - added:
method AlterTogetherOptionOperation.deconstruct() - added:
method AlterTogetherOptionOperation.describe() - added:
method AlterTogetherOptionOperation.references_field(model_name, name, app_label=…) - added:
method AlterTogetherOptionOperation.state_forwards(app_label, state) - added:
method DeleteModel.references_model(name, app_label=…) - added:
method RemoveConstraint.database_backwards(app_label, schema_editor, from_state, to_state) - added:
method RemoveConstraint.database_forwards(app_label, schema_editor, from_state, to_state) - added:
method RemoveConstraint.deconstruct() - added:
method RemoveConstraint.describe() - added:
method RemoveConstraint.state_forwards(app_label, state) - added:
property AlterTogetherOptionOperation.option_value
- removed:
function noop(apps, schema_editor)
- added:
class ModelTuple(namedtuple('ModelTupleBase', ('app_label', 'model_name'))) - added:
function field_references_model(field, model_tuple) - added:
static method ModelTuple.from_model(model, app_label=…, model_name=…)
- changed:
class MigrationOptimizer(object) → class MigrationOptimizer
- changed:
class MigrationQuestioner(object) → class MigrationQuestioner
- removed:
class MigrationRecorder.Migration(models.Model) - removed:
class MigrationRecorder.Migration.Meta - removed:
field MigrationRecorder.Migration.Meta.app_label - removed:
field MigrationRecorder.Migration.Meta.apps - removed:
field MigrationRecorder.Migration.Meta.db_table - removed:
field MigrationRecorder.Migration.app - removed:
field MigrationRecorder.Migration.applied - removed:
field MigrationRecorder.Migration.name - changed:
class MigrationRecorder(object) → class MigrationRecorder - added:
method MigrationRecorder.Migration() - added:
method MigrationRecorder.has_table()
- removed:
class ByteTypeSerializer(BaseSerializer) - removed:
class DateSerializer(BaseSerializer) - removed:
class DatetimeSerializer(BaseSerializer) - removed:
class TextTypeSerializer(BaseSerializer) - removed:
class TimeSerializer(BaseSerializer) - removed:
class TimedeltaSerializer(BaseSerializer) - removed:
method ByteTypeSerializer.serialize() - removed:
method DateSerializer.serialize() - removed:
method DatetimeSerializer.serialize() - removed:
method TextTypeSerializer.serialize() - removed:
method TimeSerializer.serialize() - removed:
method TimedeltaSerializer.serialize() - removed:
variable enum - changed:
class BaseSerializer(object) → class BaseSerializer - added:
class DateTimeSerializer(BaseSerializer) - added:
class DatetimeDatetimeSerializer(BaseSerializer) - added:
class Serializer - added:
method DateTimeSerializer.serialize() - added:
method DatetimeDatetimeSerializer.serialize() - added:
static method Serializer.register(type_, serializer) - added:
static method Serializer.unregister(type_)
- removed:
static method ModelState.force_text_recursive(value) - changed:
class ModelState(object) → class ModelState - changed:
class ProjectState(object) → class ProjectState - added:
method ModelState.get_constraint_by_name(name)
- removed:
function stable_topological_sort(l, dependency_graph) - removed:
function topological_sort_as_sets(dependency_graph)
- changed:
class RegexObject(object) → class RegexObject
- removed:
class SettingsReference(str) - removed:
constructor SettingsReference(value, setting_name) - removed:
variable enum - changed:
class MigrationWriter(object) → class MigrationWriter - changed:
class OperationWriter(object) → class OperationWriter - changed:
constructor MigrationWriter(migration) → constructor MigrationWriter(migration, include_header=…) - added:
static method MigrationWriter.register_serializer(type_, serializer) - added:
static method MigrationWriter.unregister_serializer(type_) - added:
variable MIGRATION_HEADER_TEMPLATE
- removed:
function permalink(func) - added:
export ExpressionList - added:
export FilteredRelation - added:
export RowRange - added:
export ValueRange - added:
export Window - added:
export WindowFrame - added:
export constraints_all
- removed:
field Count.template - removed:
method Avg.as_oracle(compiler, connection) - removed:
method StdDev.convert_value(value, expression, connection, context) - removed:
method Sum.as_oracle(compiler, connection) - removed:
method Variance.convert_value(value, expression, connection, context) - changed:
class Avg(Aggregate) → class Avg(FixDurationInputMixin, NumericOutputFieldMixin, Aggregate) - changed:
class StdDev(Aggregate) → class StdDev(NumericOutputFieldMixin, Aggregate) - changed:
class Sum(Aggregate) → class Sum(FixDurationInputMixin, Aggregate) - changed:
class Variance(Aggregate) → class Variance(NumericOutputFieldMixin, Aggregate) - changed:
constructor Count(expression, distinct=…, **extra) → constructor Count(expression, filter=…, **extra) - changed:
method Count.convert_value(value, expression, connection, context) → method Count.convert_value(value, expression, connection) - added:
constructor Aggregate(*expressions, distinct=…, filter=…, **extra) - added:
field Aggregate.allow_distinct - added:
field Aggregate.filter_template - added:
field Aggregate.template - added:
field Aggregate.window_compatible - added:
field Count.allow_distinct - added:
field Count.output_field - added:
method Aggregate.as_sql(compiler, connection, **extra_context) - added:
method Aggregate.get_source_expressions() - added:
method Aggregate.get_source_fields() - added:
method Aggregate.set_source_expressions(exprs)
- removed:
constructor ModelState(db=…) - removed:
function unpickle_inner_exception(klass, exception_name) - changed:
class Deferred(object) → class Deferred - changed:
class Model(six.with_metaclass(ModelBase)) → class Model - changed:
class ModelState(object) → class ModelState - changed:
function method_get_order(ordered_obj, self) → function method_get_order(self, ordered_obj) - changed:
function method_set_order(ordered_obj, self, id_list, using=…) → function method_set_order(self, ordered_obj, id_list, using=…) - changed:
function subclass_exception(name, parents, module, attached_to=…) → function subclass_exception(name, bases, module, attached_to) - added:
class ModelStateFieldsCacheDescriptor - added:
field ModelState.adding - added:
field ModelState.db - added:
field ModelState.fields_cache
- added:
class CheckConstraint(BaseConstraint) - added:
class UniqueConstraint(BaseConstraint) - added:
constructor CheckConstraint(*, check, name) - added:
constructor UniqueConstraint(*, fields, name, condition=…) - added:
method CheckConstraint.constraint_sql(model, schema_editor) - added:
method CheckConstraint.create_sql(model, schema_editor) - added:
method CheckConstraint.deconstruct() - added:
method CheckConstraint.remove_sql(model, schema_editor) - added:
method UniqueConstraint.constraint_sql(model, schema_editor) - added:
method UniqueConstraint.create_sql(model, schema_editor) - added:
method UniqueConstraint.deconstruct() - added:
method UniqueConstraint.remove_sql(model, schema_editor)
- changed:
class Collector(object) → class Collector
- removed:
constructor Random() - removed:
method BaseExpression.convert_value(value, expression, connection, context) - removed:
method Func.as_sqlite(compiler, connection, **extra_context) - removed:
property Exists.output_field - changed:
class BaseExpression(object) → class BaseExpression - changed:
class Combinable(object) → class Combinable - changed:
class CombinedExpression(Expression) → class CombinedExpression(SQLiteNumericMixin, Expression) - changed:
class Func(Expression) → class Func(SQLiteNumericMixin, Expression) - changed:
constructor Case(*cases, **extra) → constructor Case(*cases, default=…, output_field=…, **extra) - changed:
constructor Exists(*args, **kwargs) → constructor Exists(*args, negated=…, **kwargs) - changed:
constructor Func(*expressions, **extra) → constructor Func(*expressions, output_field=…, **extra) - changed:
method Exists.resolve_expression(query=…, **kwargs) → method Exists.resolve_expression(query=…, *args, **kwargs) - changed:
method F.resolve_expression(query=…, allow_joins=…, reuse=…, summarize=…, for_save=…) → method F.resolve_expression(query=…, allow_joins=…, reuse=…, summarize=…, for_save=…, simple_col=…) - changed:
method OuterRef.resolve_expression(query=…, allow_joins=…, reuse=…, summarize=…, for_save=…) → method OuterRef.resolve_expression(query=…, allow_joins=…, reuse=…, summarize=…, for_save=…, simple_col=…) - added:
class ExpressionList(Func) - added:
class RowRange(WindowFrame) - added:
class SQLiteNumericMixin - added:
class SimpleCol(Expression) - added:
class ValueRange(WindowFrame) - added:
class Window(Expression) - added:
class WindowFrame(Expression) - added:
constructor ExpressionList(*expressions, **extra) - added:
constructor SimpleCol(target, output_field=…) - added:
constructor Window(expression, partition_by=…, order_by=…, frame=…, output_field=…) - added:
constructor WindowFrame(start=…, end=…) - added:
field BaseExpression.filterable - added:
field BaseExpression.window_compatible - added:
field Exists.output_field - added:
field ExpressionList.template - added:
field F.filterable - added:
field Random.output_field - added:
field RowRange.frame_type - added:
field SimpleCol.contains_column_references - added:
field Subquery.contains_aggregate - added:
field TemporalSubtraction.output_field - added:
field ValueRange.frame_type - added:
field Window.contains_aggregate - added:
field Window.contains_over_clause - added:
field Window.filterable - added:
field Window.template - added:
field WindowFrame.template - added:
method ResolvedOuterRef.relabeled_clone(relabels) - added:
method RowRange.window_frame_start_end(connection, start, end) - added:
method SQLiteNumericMixin.as_sqlite(compiler, connection, **extra_context) - added:
method SimpleCol.as_sql(compiler, connection) - added:
method SimpleCol.get_db_converters(connection) - added:
method SimpleCol.get_group_by_cols() - added:
method ValueRange.window_frame_start_end(connection, start, end) - added:
method Window.as_sql(compiler, connection, template=…) - added:
method Window.get_group_by_cols() - added:
method Window.get_source_expressions() - added:
method Window.set_source_expressions(exprs) - added:
method WindowFrame.as_sql(compiler, connection) - added:
method WindowFrame.get_group_by_cols() - added:
method WindowFrame.get_source_expressions() - added:
method WindowFrame.set_source_expressions(exprs) - added:
method WindowFrame.window_frame_start_end(connection, start, end) - added:
property BaseExpression.contains_over_clause - added:
property BaseExpression.convert_value - added:
property BaseExpression.identity
- removed:
class DateTimeCheckMixin(object) - removed:
class PositiveIntegerRelDbTypeMixin(object) - removed:
constructor BooleanField(*args, **kwargs) - removed:
export DeferredAttribute - removed:
export DictWrapper - removed:
export LOOKUP_SEP - removed:
export Promise - removed:
export RegisterLookupMixin - removed:
export RemovedInDjango20Warning - removed:
export apps - removed:
export cached_property - removed:
export capfirst - removed:
export checks - removed:
export clean_ipv6_address - removed:
export connection - removed:
export connections - removed:
export curry - removed:
export duration_string - removed:
export exceptions - removed:
export force_bytes - removed:
export force_text - removed:
export forms - removed:
export is_iterable - removed:
export parse_date - removed:
export parse_datetime - removed:
export parse_duration - removed:
export parse_time - removed:
export python_2_unicode_compatible - removed:
export router - removed:
export settings - removed:
export six - removed:
export smart_text - removed:
export timezone - removed:
export validators - removed:
export warn_about_renamed_method - removed:
field BigIntegerField.empty_strings_allowed - removed:
field CommaSeparatedIntegerField.system_check_deprecated_details - removed:
field NullBooleanField.empty_strings_allowed - removed:
function return_None() - removed:
method BooleanField.check(**kwargs) - removed:
method BooleanField.deconstruct() - removed:
method CommaSeparatedIntegerField.formfield(**kwargs) - removed:
method DateTimeCheckMixin.check(**kwargs) - removed:
method DecimalField.format_number(value) - removed:
method Field.get_cache_name() - removed:
method NullBooleanField.formfield(**kwargs) - removed:
method NullBooleanField.get_prep_value(value) - removed:
method NullBooleanField.to_python(value) - removed:
method PositiveIntegerRelDbTypeMixin.rel_db_type(connection) - removed:
property Field.rel - changed:
class Empty(object) → class Empty - changed:
class NullBooleanField(Field) → class NullBooleanField(BooleanField) - changed:
constructor SlugField(*args, **kwargs) → constructor SlugField(*args, max_length=…, db_index=…, allow_unicode=…, **kwargs) - changed:
method Field.contribute_to_class(cls, name, private_only=…, virtual_only=…) → method Field.contribute_to_class(cls, name, private_only=…) - changed:
method Field.get_choices(include_blank=…, blank_choice=…, limit_choices_to=…) → method Field.get_choices(include_blank=…, blank_choice=…, limit_choices_to=…, ordering=…) - added:
field CommaSeparatedIntegerField.system_check_removed_details - added:
method CharField.cast_db_type(connection) - added:
method Field.cast_db_type(connection) - added:
method Field.db_type_parameters(connection) - added:
property DecimalField.context - added:
property Field.db_tablespace
- removed:
method FileField.get_directory_name() - removed:
method FileField.get_filename(filename) - changed:
class FileDescriptor(object) → class FileDescriptor
- added:
class FieldCacheMixin - added:
method FieldCacheMixin.delete_cached_value(instance) - added:
method FieldCacheMixin.get_cache_name() - added:
method FieldCacheMixin.get_cached_value(instance, default=…) - added:
method FieldCacheMixin.is_cached(instance) - added:
method FieldCacheMixin.set_cached_value(instance, value) - added:
variable NOT_PROVIDED
- removed:
method OrderWrt.deconstruct()
- removed:
function add_lazy_relation(cls, field, relation, operation) - changed:
class RelatedField(Field) → class RelatedField(FieldCacheMixin, Field) - changed:
constructor ForeignKey(to, on_delete=…, related_name=…, related_query_name=…, limit_choices_to=…, parent_link=…, to_field=…, db_constraint=…, **kwargs) → constructor ForeignKey(to, on_delete, related_name=…, related_query_name=…, limit_choices_to=…, parent_link=…, to_field=…, db_constraint=…, **kwargs) - changed:
constructor OneToOneField(to, on_delete=…, to_field=…, **kwargs) → constructor OneToOneField(to, on_delete, to_field=…, **kwargs) - changed:
method ForeignKey.convert_empty_strings(value, expression, connection, context) → method ForeignKey.convert_empty_strings(value, expression, connection) - changed:
method ForeignKey.formfield(**kwargs) → method ForeignKey.formfield(*, using=…, **kwargs) - changed:
method ForeignKey.get_reverse_path_info() → method ForeignKey.get_reverse_path_info(filtered_relation=…) - changed:
method ForeignObject.get_path_info() → method ForeignObject.get_path_info(filtered_relation=…) - changed:
method ForeignObject.get_reverse_path_info() → method ForeignObject.get_reverse_path_info(filtered_relation=…) - changed:
method ManyToManyField.formfield(**kwargs) → method ManyToManyField.formfield(*, using=…, **kwargs) - changed:
method ManyToManyField.get_path_info() → method ManyToManyField.get_path_info(filtered_relation=…) - changed:
method ManyToManyField.get_reverse_path_info() → method ManyToManyField.get_reverse_path_info(filtered_relation=…) - added:
method ForeignKey.to_python(value) - added:
method RelatedField.deconstruct() - added:
method RelatedField.get_cache_name()
- changed:
class ForwardManyToOneDescriptor(object) → class ForwardManyToOneDescriptor - changed:
class ReverseManyToOneDescriptor(object) → class ReverseManyToOneDescriptor - changed:
class ReverseOneToOneDescriptor(object) → class ReverseOneToOneDescriptor
- changed:
class MultiColSource(object) → class MultiColSource - changed:
class RelatedLookupMixin(object) → class RelatedLookupMixin - added:
method MultiColSource.get_lookup(lookup)
- removed:
property ForeignObjectRel.to - changed:
class ForeignObjectRel(object) → class ForeignObjectRel(FieldCacheMixin) - changed:
method ForeignObjectRel.get_choices(include_blank=…, blank_choice=…) → method ForeignObjectRel.get_choices(include_blank=…, blank_choice=…, ordering=…) - changed:
method ForeignObjectRel.get_path_info() → method ForeignObjectRel.get_path_info(filtered_relation=…)
- added:
export ACos - added:
export ASin - added:
export ATan - added:
export ATan2 - added:
export Abs - added:
export Ceil - added:
export Chr - added:
export Cos - added:
export Cot - added:
export CumeDist - added:
export Degrees - added:
export DenseRank - added:
export Exp - added:
export ExtractIsoYear - added:
export ExtractQuarter - added:
export FirstValue - added:
export Floor - added:
export LPad - added:
export LTrim - added:
export Lag - added:
export LastValue - added:
export Lead - added:
export Left - added:
export Ln - added:
export Log - added:
export Mod - added:
export NthValue - added:
export Ntile - added:
export NullIf - added:
export Ord - added:
export PercentRank - added:
export Pi - added:
export Power - added:
export RPad - added:
export RTrim - added:
export Radians - added:
export Rank - added:
export Repeat - added:
export Replace - added:
export Reverse - added:
export Right - added:
export Round - added:
export RowNumber - added:
export Sin - added:
export Sqrt - added:
export StrIndex - added:
export Tan - added:
export Trim - added:
export TruncQuarter - added:
export TruncWeek
- removed:
class Cast(Func) - removed:
class Coalesce(Func) - removed:
class Concat(Func) - removed:
class ConcatPair(Func) - removed:
class Greatest(Func) - removed:
class Least(Func) - removed:
class Length(Transform) - removed:
class Lower(Transform) - removed:
class Now(Func) - removed:
class Substr(Func) - removed:
class Upper(Transform) - removed:
constructor Cast(expression, output_field) - removed:
constructor Coalesce(*expressions, **extra) - removed:
constructor Concat(*expressions, **extra) - removed:
constructor ConcatPair(left, right, **extra) - removed:
constructor Greatest(*expressions, **extra) - removed:
constructor Least(*expressions, **extra) - removed:
constructor Length(expression, **extra) - removed:
constructor Now(output_field=…, **extra) - removed:
constructor Substr(expression, pos, length=…, **extra) - removed:
field Cast.function - removed:
field Cast.mysql_types - removed:
field Cast.template - removed:
field Coalesce.function - removed:
field Concat.function - removed:
field Concat.template - removed:
field ConcatPair.function - removed:
field Greatest.function - removed:
field Least.function - removed:
field Length.function - removed:
field Length.lookup_name - removed:
field Lower.function - removed:
field Lower.lookup_name - removed:
field Now.template - removed:
field Substr.function - removed:
field Upper.function - removed:
field Upper.lookup_name - removed:
method Cast.as_mysql(compiler, connection) - removed:
method Cast.as_postgresql(compiler, connection) - removed:
method Cast.as_sql(compiler, connection, **extra_context) - removed:
method Coalesce.as_oracle(compiler, connection) - removed:
method ConcatPair.as_mysql(compiler, connection) - removed:
method ConcatPair.as_sqlite(compiler, connection) - removed:
method ConcatPair.coalesce() - removed:
method Greatest.as_sqlite(compiler, connection) - removed:
method Least.as_sqlite(compiler, connection) - removed:
method Length.as_mysql(compiler, connection) - removed:
method Now.as_postgresql(compiler, connection) - removed:
method Substr.as_oracle(compiler, connection) - removed:
method Substr.as_sqlite(compiler, connection)
- added:
class Cast(Func) - added:
class Coalesce(Func) - added:
class Greatest(Func) - added:
class Least(Func) - added:
class NullIf(Func) - added:
constructor Cast(expression, output_field) - added:
constructor Coalesce(*expressions, **extra) - added:
constructor Greatest(*expressions, **extra) - added:
constructor Least(*expressions, **extra) - added:
field Cast.function - added:
field Cast.template - added:
field Coalesce.function - added:
field Greatest.function - added:
field Least.function - added:
field NullIf.arity - added:
field NullIf.function - added:
method Cast.as_mysql(compiler, connection, **extra_context) - added:
method Cast.as_postgresql(compiler, connection, **extra_context) - added:
method Cast.as_sql(compiler, connection, **extra_context) - added:
method Cast.as_sqlite(compiler, connection, **extra_context) - added:
method Coalesce.as_oracle(compiler, connection, **extra_context) - added:
method Greatest.as_sqlite(compiler, connection, **extra_context) - added:
method Least.as_sqlite(compiler, connection, **extra_context) - added:
method NullIf.as_oracle(compiler, connection, **extra_context)
- removed:
field TruncBase.arity - removed:
property Extract.output_field - removed:
property TruncDate.output_field - removed:
property TruncTime.output_field - changed:
class TimezoneMixin(object) → class TimezoneMixin - changed:
method TruncBase.convert_value(value, expression, connection, context) → method TruncBase.convert_value(value, expression, connection) - added:
class ExtractIsoYear(Extract) - added:
class ExtractQuarter(Extract) - added:
class Now(Func) - added:
class TruncQuarter(TruncBase) - added:
class TruncWeek(TruncBase) - added:
field Extract.output_field - added:
field ExtractIsoYear.lookup_name - added:
field ExtractQuarter.lookup_name - added:
field Now.output_field - added:
field Now.template - added:
field TruncDate.output_field - added:
field TruncQuarter.kind - added:
field TruncTime.output_field - added:
field TruncWeek.kind - added:
method Now.as_postgresql(compiler, connection, **extra_context)
- added:
class ACos(NumericOutputFieldMixin, Transform) - added:
class ASin(NumericOutputFieldMixin, Transform) - added:
class ATan(NumericOutputFieldMixin, Transform) - added:
class ATan2(NumericOutputFieldMixin, Func) - added:
class Abs(Transform) - added:
class Ceil(Transform) - added:
class Cos(NumericOutputFieldMixin, Transform) - added:
class Cot(NumericOutputFieldMixin, Transform) - added:
class Degrees(NumericOutputFieldMixin, Transform) - added:
class Exp(NumericOutputFieldMixin, Transform) - added:
class Floor(Transform) - added:
class Ln(NumericOutputFieldMixin, Transform) - added:
class Log(FixDecimalInputMixin, NumericOutputFieldMixin, Func) - added:
class Mod(FixDecimalInputMixin, NumericOutputFieldMixin, Func) - added:
class Pi(NumericOutputFieldMixin, Func) - added:
class Power(NumericOutputFieldMixin, Func) - added:
class Radians(NumericOutputFieldMixin, Transform) - added:
class Round(Transform) - added:
class Sin(NumericOutputFieldMixin, Transform) - added:
class Sqrt(NumericOutputFieldMixin, Transform) - added:
class Tan(NumericOutputFieldMixin, Transform) - added:
field ACos.function - added:
field ACos.lookup_name - added:
field ASin.function - added:
field ASin.lookup_name - added:
field ATan.function - added:
field ATan.lookup_name - added:
field ATan2.arity - added:
field ATan2.function - added:
field Abs.function - added:
field Abs.lookup_name - added:
field Ceil.function - added:
field Ceil.lookup_name - added:
field Cos.function - added:
field Cos.lookup_name - added:
field Cot.function - added:
field Cot.lookup_name - added:
field Degrees.function - added:
field Degrees.lookup_name - added:
field Exp.function - added:
field Exp.lookup_name - added:
field Floor.function - added:
field Floor.lookup_name - added:
field Ln.function - added:
field Ln.lookup_name - added:
field Log.arity - added:
field Log.function - added:
field Mod.arity - added:
field Mod.function - added:
field Pi.arity - added:
field Pi.function - added:
field Power.arity - added:
field Power.function - added:
field Radians.function - added:
field Radians.lookup_name - added:
field Round.function - added:
field Round.lookup_name - added:
field Sin.function - added:
field Sin.lookup_name - added:
field Sqrt.function - added:
field Sqrt.lookup_name - added:
field Tan.function - added:
field Tan.lookup_name - added:
method ATan2.as_sqlite(compiler, connection, **extra_context) - added:
method Ceil.as_oracle(compiler, connection, **extra_context) - added:
method Cot.as_oracle(compiler, connection, **extra_context) - added:
method Degrees.as_oracle(compiler, connection, **extra_context) - added:
method Log.as_sqlite(compiler, connection, **extra_context) - added:
method Pi.as_oracle(compiler, connection, **extra_context) - added:
method Radians.as_oracle(compiler, connection, **extra_context)
- added:
class FixDecimalInputMixin - added:
class FixDurationInputMixin - added:
class NumericOutputFieldMixin - added:
method FixDecimalInputMixin.as_postgresql(compiler, connection, **extra_context) - added:
method FixDurationInputMixin.as_mysql(compiler, connection, **extra_context) - added:
method FixDurationInputMixin.as_oracle(compiler, connection, **extra_context)
- added:
class BytesToCharFieldConversionMixin - added:
class Chr(Transform) - added:
class Concat(Func) - added:
class ConcatPair(Func) - added:
class LPad(BytesToCharFieldConversionMixin, Func) - added:
class LTrim(Transform) - added:
class Left(Func) - added:
class Length(Transform) - added:
class Lower(Transform) - added:
class Ord(Transform) - added:
class RPad(LPad) - added:
class RTrim(Transform) - added:
class Repeat(BytesToCharFieldConversionMixin, Func) - added:
class Replace(Func) - added:
class Reverse(Transform) - added:
class Right(Left) - added:
class StrIndex(Func) - added:
class Substr(Func) - added:
class Trim(Transform) - added:
class Upper(Transform) - added:
constructor Concat(*expressions, **extra) - added:
constructor LPad(expression, length, fill_text=…, **extra) - added:
constructor Left(expression, length, **extra) - added:
constructor Repeat(expression, number, **extra) - added:
constructor Replace(expression, text, replacement=…, **extra) - added:
constructor Substr(expression, pos, length=…, **extra) - added:
field Chr.function - added:
field Chr.lookup_name - added:
field Concat.function - added:
field Concat.template - added:
field ConcatPair.function - added:
field LPad.function - added:
field LTrim.function - added:
field LTrim.lookup_name - added:
field Left.arity - added:
field Left.function - added:
field Length.function - added:
field Length.lookup_name - added:
field Length.output_field - added:
field Lower.function - added:
field Lower.lookup_name - added:
field Ord.function - added:
field Ord.lookup_name - added:
field Ord.output_field - added:
field RPad.function - added:
field RTrim.function - added:
field RTrim.lookup_name - added:
field Repeat.function - added:
field Replace.function - added:
field Reverse.function - added:
field Reverse.lookup_name - added:
field Right.function - added:
field StrIndex.arity - added:
field StrIndex.function - added:
field StrIndex.output_field - added:
field Substr.function - added:
field Trim.function - added:
field Trim.lookup_name - added:
field Upper.function - added:
field Upper.lookup_name - added:
method BytesToCharFieldConversionMixin.convert_value(value, expression, connection) - added:
method Chr.as_mysql(compiler, connection, **extra_context) - added:
method Chr.as_oracle(compiler, connection, **extra_context) - added:
method Chr.as_sqlite(compiler, connection, **extra_context) - added:
method ConcatPair.as_mysql(compiler, connection, **extra_context) - added:
method ConcatPair.as_sqlite(compiler, connection, **extra_context) - added:
method ConcatPair.coalesce() - added:
method Left.as_oracle(compiler, connection, **extra_context) - added:
method Left.as_sqlite(compiler, connection, **extra_context) - added:
method Left.get_substr() - added:
method Length.as_mysql(compiler, connection, **extra_context) - added:
method Ord.as_mysql(compiler, connection, **extra_context) - added:
method Ord.as_sqlite(compiler, connection, **extra_context) - added:
method Repeat.as_oracle(compiler, connection, **extra_context) - added:
method Reverse.as_oracle(compiler, connection, **extra_context) - added:
method Right.get_substr() - added:
method StrIndex.as_postgresql(compiler, connection, **extra_context) - added:
method Substr.as_oracle(compiler, connection, **extra_context) - added:
method Substr.as_sqlite(compiler, connection, **extra_context)
- added:
class CumeDist(Func) - added:
class DenseRank(Func) - added:
class FirstValue(Func) - added:
class Lag(LagLeadFunction) - added:
class LastValue(Func) - added:
class Lead(LagLeadFunction) - added:
class NthValue(Func) - added:
class Ntile(Func) - added:
class PercentRank(Func) - added:
class Rank(Func) - added:
class RowNumber(Func) - added:
constructor NthValue(expression, nth=…, **extra) - added:
constructor Ntile(num_buckets=…, **extra) - added:
field CumeDist.function - added:
field CumeDist.output_field - added:
field CumeDist.window_compatible - added:
field DenseRank.function - added:
field DenseRank.output_field - added:
field DenseRank.window_compatible - added:
field FirstValue.arity - added:
field FirstValue.function - added:
field FirstValue.window_compatible - added:
field Lag.function - added:
field LastValue.arity - added:
field LastValue.function - added:
field LastValue.window_compatible - added:
field Lead.function - added:
field NthValue.function - added:
field NthValue.window_compatible - added:
field Ntile.function - added:
field Ntile.output_field - added:
field Ntile.window_compatible - added:
field PercentRank.function - added:
field PercentRank.output_field - added:
field PercentRank.window_compatible - added:
field Rank.function - added:
field Rank.output_field - added:
field Rank.window_compatible - added:
field RowNumber.function - added:
field RowNumber.output_field - added:
field RowNumber.window_compatible
- added:
class Index - added:
constructor Index(*, fields=…, name=…, db_tablespace=…, opclasses=…, condition=…) - added:
field Index.max_name_length - added:
field Index.suffix - added:
method Index.check_name() - added:
method Index.clone() - added:
method Index.create_sql(model, schema_editor, using=…) - added:
method Index.deconstruct() - added:
method Index.remove_sql(model, schema_editor) - added:
method Index.set_name_with_model(model)
- removed:
class DecimalComparisonLookup(object) - removed:
class DecimalGreaterThan(DecimalComparisonLookup, GreaterThan) - removed:
class DecimalGreaterThanOrEqual(DecimalComparisonLookup, GreaterThanOrEqual) - removed:
class DecimalLessThan(DecimalComparisonLookup, LessThan) - removed:
class DecimalLessThanOrEqual(DecimalComparisonLookup, LessThanOrEqual) - removed:
class Search(BuiltinLookup) - removed:
field Contains.prepare_rhs - removed:
field EndsWith.prepare_rhs - removed:
field IContains.prepare_rhs - removed:
field IEndsWith.prepare_rhs - removed:
field IStartsWith.prepare_rhs - removed:
field Search.lookup_name - removed:
field Search.prepare_rhs - removed:
field StartsWith.prepare_rhs - removed:
method Contains.process_rhs(qn, connection) - removed:
method DecimalComparisonLookup.as_sqlite(compiler, connection) - removed:
method EndsWith.process_rhs(qn, connection) - removed:
method IEndsWith.process_rhs(qn, connection) - removed:
method IStartsWith.process_rhs(qn, connection) - removed:
method Search.as_sql(compiler, connection) - removed:
method StartsWith.process_rhs(qn, connection) - changed:
class FieldGetDbPrepValueMixin(object) → class FieldGetDbPrepValueMixin - changed:
class IEndsWith(PatternLookup) → class IEndsWith(EndsWith) - changed:
class IStartsWith(PatternLookup) → class IStartsWith(StartsWith) - changed:
class IntegerFieldFloatRounding(object) → class IntegerFieldFloatRounding - changed:
class Lookup(object) → class Lookup - changed:
method YearComparisonLookup.get_bound() → method YearComparisonLookup.get_bound(start, finish) - added:
field EndsWith.param_pattern - added:
field Lookup.can_use_none_as_rhs - added:
field PatternLookup.param_pattern - added:
field PatternLookup.prepare_rhs - added:
field StartsWith.param_pattern - added:
method Exact.process_rhs(compiler, connection) - added:
method PatternLookup.process_rhs(qn, connection) - added:
property Lookup.contains_over_clause
- changed:
class BaseManager(object) → class BaseManager - changed:
class ManagerDescriptor(object) → class ManagerDescriptor
- removed:
property Options.has_auto_field - removed:
property Options.virtual_fields - removed:
variable NOT_PROVIDED - changed:
class Options(object) → class Options - changed:
method Options.add_field(field, private=…, virtual=…) → method Options.add_field(field, private=…)
- changed:
class BaseIterable(object) → class BaseIterable - changed:
class EmptyQuerySet(six.with_metaclass(InstanceCheckMeta)) → class EmptyQuerySet - changed:
class Prefetch(object) → class Prefetch - changed:
class QuerySet(object) → class QuerySet - changed:
class RawQuerySet(object) → class RawQuerySet - changed:
class RelatedPopulator(object) → class RelatedPopulator - changed:
constructor BaseIterable(queryset, chunked_fetch=…) → constructor BaseIterable(queryset, chunked_fetch=…, chunk_size=…) - changed:
method QuerySet.bulk_create(objs, batch_size=…) → method QuerySet.bulk_create(objs, batch_size=…, ignore_conflicts=…) - changed:
method QuerySet.earliest(field_name=…) → method QuerySet.earliest(*fields, field_name=…) - changed:
method QuerySet.in_bulk(id_list=…) → method QuerySet.in_bulk(id_list=…, *, field_name=…) - changed:
method QuerySet.iterator() → method QuerySet.iterator(chunk_size=…) - changed:
method QuerySet.latest(field_name=…) → method QuerySet.latest(*fields, field_name=…) - changed:
method QuerySet.select_for_update(nowait=…, skip_locked=…) → method QuerySet.select_for_update(nowait=…, skip_locked=…, of=…) - changed:
method QuerySet.union(*other_qs, **kwargs) → method QuerySet.union(*other_qs, all=…) - changed:
method QuerySet.values_list(*fields, **kwargs) → method QuerySet.values_list(*fields, flat=…, named=…) - added:
class NamedValuesListIterable(ValuesListIterable) - added:
method QuerySet.bulk_update(objs, fields, batch_size=…) - added:
method QuerySet.explain(*, format=…, **options) - added:
method QuerySet.resolve_expression(*args, **kwargs) - added:
method RawQuerySet.iterator() - added:
method RawQuerySet.prefetch_related(*lookups) - added:
static method NamedValuesListIterable.create_namedtuple_class(*names)
- changed:
class DeferredAttribute(object) → class DeferredAttribute - changed:
class QueryWrapper(object) → class QueryWrapper - changed:
class RegisterLookupMixin(object) → class RegisterLookupMixin - changed:
constructor DeferredAttribute(field_name, model) → constructor DeferredAttribute(field_name) - changed:
constructor Q(*args, **kwargs) → constructor Q(*args, _connector=…, _negated=…, **kwargs) - added:
class FilteredRelation - added:
constructor FilteredRelation(relation_name, *, condition=…) - added:
field Q.conditional - added:
method FilteredRelation.as_sql(compiler, connection) - added:
method FilteredRelation.clone() - added:
method FilteredRelation.resolve_expression(*args, **kwargs) - added:
method Q.deconstruct()
- changed:
method ModelSignal.disconnect(receiver=…, sender=…, weak=…, dispatch_uid=…, apps=…) → method ModelSignal.disconnect(receiver=…, sender=…, dispatch_uid=…, apps=…)
- removed:
constructor SQLInsertCompiler(*args, **kwargs) - changed:
class SQLCompiler(object) → class SQLCompiler - changed:
function cursor_iter(cursor, sentinel, col_count) → function cursor_iter(cursor, sentinel, col_count, itersize) - changed:
method SQLCompiler.apply_converters(row, converters) → method SQLCompiler.apply_converters(rows, converters) - changed:
method SQLCompiler.execute_sql(result_type=…, chunked_fetch=…) → method SQLCompiler.execute_sql(result_type=…, chunked_fetch=…, chunk_size=…) - changed:
method SQLCompiler.results_iter(results=…, chunked_fetch=…) → method SQLCompiler.results_iter(results=…, tuple_expected=…, chunked_fetch=…, chunk_size=…) - added:
field SQLInsertCompiler.return_id - added:
method SQLCompiler.explain_query() - added:
method SQLCompiler.get_select_for_update_of_arguments()
- removed:
variable QUERY_TERMS
- changed:
class BaseTable(object) → class BaseTable - changed:
class Empty(object) → class Empty - changed:
class Join(object) → class Join - changed:
constructor Join(table_name, parent_alias, table_alias, join_type, join_field, nullable) → constructor Join(table_name, parent_alias, table_alias, join_type, join_field, nullable, filtered_relation=…) - added:
field BaseTable.filtered_relation - added:
method BaseTable.equals(other, with_filtered_relation) - added:
method Join.equals(other, with_filtered_relation)
- removed:
field Query.query_terms - removed:
method Query.add_context(key, value) - removed:
method Query.add_select(col) - removed:
method Query.as_subquery_filter(db) - removed:
method Query.get_context(key, default=…) - removed:
method Query.prepare_lookup_value(value, lookups, can_reuse, allow_joins=…) - changed:
class Query(object) → class Query - changed:
class RawQuery(object) → class RawQuery - changed:
constructor RawQuery(sql, using, params=…, context=…) → constructor RawQuery(sql, using, params=…) - changed:
method Query.build_filter(filter_expr, branch_negated=…, current_negated=…, can_reuse=…, connector=…, allow_joins=…, split_subq=…) → method Query.build_filter(filter_expr, branch_negated=…, current_negated=…, can_reuse=…, allow_joins=…, split_subq=…, reuse_with_filtered_relation=…, simple_col=…) - changed:
method Query.clone(klass=…, memo=…, **kwargs) → method Query.clone() - changed:
method Query.join(join, reuse=…) → method Query.join(join, reuse=…, reuse_with_filtered_relation=…) - changed:
method Query.resolve_ref(name, allow_joins=…, reuse=…, summarize=…) → method Query.resolve_ref(name, allow_joins=…, reuse=…, summarize=…, simple_col=…) - changed:
method Query.setup_joins(names, opts, alias, can_reuse=…, allow_many=…) → method Query.setup_joins(names, opts, alias, can_reuse=…, allow_many=…, reuse_with_filtered_relation=…) - changed:
method Query.split_exclude(filter_expr, prefix, can_reuse, names_with_path) → method Query.split_exclude(filter_expr, can_reuse, names_with_path) - changed:
method Query.table_alias(table_name, create=…) → method Query.table_alias(table_name, create=…, filtered_relation=…) - changed:
method Query.try_transform(lhs, name, rest_of_lookups) → method Query.try_transform(lhs, name) - added:
method Query.add_filtered_relation(filtered_relation, alias) - added:
method Query.as_sql(compiler, connection) - added:
method Query.build_filtered_relation_q(q_object, reuse, branch_negated=…, current_negated=…) - added:
method Query.build_where(q_object) - added:
method Query.chain(klass=…) - added:
method Query.check_alias(alias) - added:
method Query.explain(using, format=…, **options) - added:
method Query.has_limit_one() - added:
method Query.resolve_expression(query, *args, **kwargs) - added:
method Query.resolve_lookup_value(value, can_reuse, allow_joins, simple_col) - added:
method RawQuery.chain(using) - added:
property Query.base_table - added:
property Query.has_select_fields
- changed:
constructor InsertQuery(*args, **kwargs) → constructor InsertQuery(*args, ignore_conflicts=…, **kwargs) - changed:
method UpdateQuery.clone(klass=…, **kwargs) → method UpdateQuery.clone()
- changed:
class ExtraWhere(object) → class ExtraWhere - changed:
class NothingNode(object) → class NothingNode - changed:
class SubqueryConstraint(object) → class SubqueryConstraint - added:
field WhereNode.conditional - added:
field WhereNode.resolved - added:
method WhereNode.resolve_expression(*args, **kwargs) - added:
property WhereNode.contains_over_clause
- added:
function mark_for_rollback_on_error(using=…)
- changed:
class ConnectionHandler(object) → class ConnectionHandler - changed:
class ConnectionRouter(object) → class ConnectionRouter - changed:
class DatabaseErrorWrapper(object) → class DatabaseErrorWrapper - changed:
class Error(Exception if six.PY3 else StandardError) → class Error(Exception)
- changed:
class Signal(object) → class Signal - changed:
method Signal.disconnect(receiver=…, sender=…, weak=…, dispatch_uid=…) → method Signal.disconnect(receiver=…, sender=…, dispatch_uid=…)
- removed:
class WeakMethod(ref)
- changed:
class BoundField(object) → class BoundField
- removed:
export SelectDateWidget
- removed:
field Field.creation_counter - changed:
class Field(object) → class Field - changed:
constructor CharField(max_length=…, min_length=…, strip=…, empty_value=…, *args, **kwargs) → constructor CharField(*, max_length=…, min_length=…, strip=…, empty_value=…, **kwargs) - changed:
constructor ChoiceField(choices=…, required=…, widget=…, label=…, initial=…, help_text=…, *args, **kwargs) → constructor ChoiceField(*, choices=…, **kwargs) - changed:
constructor ComboField(fields=…, *args, **kwargs) → constructor ComboField(fields, **kwargs) - changed:
constructor DecimalField(max_value=…, min_value=…, max_digits=…, decimal_places=…, *args, **kwargs) → constructor DecimalField(*, max_value=…, min_value=…, max_digits=…, decimal_places=…, **kwargs) - changed:
constructor EmailField(*args, **kwargs) → constructor EmailField(**kwargs) - changed:
constructor Field(required=…, widget=…, label=…, initial=…, help_text=…, error_messages=…, show_hidden_initial=…, validators=…, localize=…, disabled=…, label_suffix=…) → constructor Field(*, required=…, widget=…, label=…, initial=…, help_text=…, error_messages=…, show_hidden_initial=…, validators=…, localize=…, disabled=…, label_suffix=…) - changed:
constructor FileField(*args, **kwargs) → constructor FileField(*, max_length=…, allow_empty_file=…, **kwargs) - changed:
constructor FilePathField(path, match=…, recursive=…, allow_files=…, allow_folders=…, required=…, widget=…, label=…, initial=…, help_text=…, *args, **kwargs) → constructor FilePathField(path, *, match=…, recursive=…, allow_files=…, allow_folders=…, **kwargs) - changed:
constructor GenericIPAddressField(protocol=…, unpack_ipv4=…, *args, **kwargs) → constructor GenericIPAddressField(*, protocol=…, unpack_ipv4=…, **kwargs) - changed:
constructor IntegerField(max_value=…, min_value=…, *args, **kwargs) → constructor IntegerField(*, max_value=…, min_value=…, **kwargs) - changed:
constructor MultiValueField(fields=…, *args, **kwargs) → constructor MultiValueField(fields, *, require_all_fields=…, **kwargs) - changed:
constructor RegexField(regex, max_length=…, min_length=…, *args, **kwargs) → constructor RegexField(regex, **kwargs) - changed:
constructor SlugField(*args, **kwargs) → constructor SlugField(*, allow_unicode=…, **kwargs) - changed:
constructor SplitDateTimeField(input_date_formats=…, input_time_formats=…, *args, **kwargs) → constructor SplitDateTimeField(*, input_date_formats=…, input_time_formats=…, **kwargs) - changed:
constructor TypedChoiceField(*args, **kwargs) → constructor TypedChoiceField(*, coerce=…, empty_value=…, **kwargs) - changed:
constructor TypedMultipleChoiceField(*args, **kwargs) → constructor TypedMultipleChoiceField(*, coerce=…, **kwargs) - changed:
constructor URLField(*args, **kwargs) → constructor URLField(**kwargs) - added:
method ImageField.widget_attrs(widget)
- changed:
class BaseForm(object) → class BaseForm - changed:
class Form(six.with_metaclass(DeclarativeFieldsMetaclass, BaseForm)) → class Form(BaseForm)
- changed:
class BaseFormSet(object) → class BaseFormSet
- changed:
class ModelForm(six.with_metaclass(ModelFormMetaclass, BaseModelForm)) → class ModelForm(BaseModelForm) - changed:
constructor BaseModelForm(data=…, files=…, auto_id=…, prefix=…, initial=…, error_class=…, label_suffix=…, empty_permitted=…, instance=…, use_required_attribute=…) → constructor BaseModelForm(data=…, files=…, auto_id=…, prefix=…, initial=…, error_class=…, label_suffix=…, empty_permitted=…, instance=…, use_required_attribute=…, renderer=…) - changed:
constructor BaseModelFormSet(data=…, files=…, auto_id=…, prefix=…, queryset=…, **kwargs) → constructor BaseModelFormSet(data=…, files=…, auto_id=…, prefix=…, queryset=…, *, initial=…, **kwargs) - changed:
constructor ModelChoiceField(queryset, empty_label=…, required=…, widget=…, label=…, initial=…, help_text=…, to_field_name=…, limit_choices_to=…, *args, **kwargs) → constructor ModelChoiceField(queryset, *, empty_label=…, required=…, widget=…, label=…, initial=…, help_text=…, to_field_name=…, limit_choices_to=…, **kwargs) - changed:
constructor ModelMultipleChoiceField(queryset, required=…, widget=…, label=…, initial=…, help_text=…, *args, **kwargs) → constructor ModelMultipleChoiceField(queryset, **kwargs) - changed:
function fields_for_model(model, fields=…, exclude=…, widgets=…, formfield_callback=…, localized_fields=…, labels=…, help_texts=…, error_messages=…, field_classes=…, apply_limit_choices_to=…) → function fields_for_model(model, fields=…, exclude=…, widgets=…, formfield_callback=…, localized_fields=…, labels=…, help_texts=…, error_messages=…, field_classes=…, *, apply_limit_choices_to=…)
- changed:
class BaseRenderer(object) → class BaseRenderer - changed:
class EngineMixin(object) → class EngineMixin
- added:
method ErrorDict.get_json_data(escape_html=…)
- removed:
method Media.add_css(data) - removed:
method Media.add_js(data) - changed:
class Media(object) → class Media - changed:
class Widget(six.with_metaclass(RenameWidgetMethods)) → class Widget - changed:
constructor Media(media=…, **kwargs) → constructor Media(media=…, css=…, js=…) - changed:
constructor SplitDateTimeWidget(attrs=…, date_format=…, time_format=…) → constructor SplitDateTimeWidget(attrs=…, date_format=…, time_format=…, date_attrs=…, time_attrs=…) - changed:
constructor SplitHiddenDateTimeWidget(attrs=…, date_format=…, time_format=…) → constructor SplitHiddenDateTimeWidget(attrs=…, date_format=…, time_format=…, date_attrs=…, time_attrs=…) - added:
static method Media.merge(*lists)
- removed:
class SimpleCookie(http_cookies.SimpleCookie) - removed:
method SimpleCookie.load(rawdata) - removed:
variable Morsel - removed:
variable cookie_pickles_properly
- removed:
method MultiPartParser.IE_sanitize(filename) - changed:
class MultiPartParser(object) → class MultiPartParser - added:
field MultiPartParser.IE_sanitize - added:
method MultiPartParser.sanitize_file_name(file_name)
- changed:
class HttpRequest(object) → class HttpRequest - added:
class HttpHeaders(CaseInsensitiveMapping) - added:
constructor HttpHeaders(environ) - added:
field HttpHeaders.HTTP_PREFIX - added:
field HttpHeaders.UNPREFIXED_HEADERS - added:
method HttpRequest.get_full_path_info(force_append_slash=…) - added:
property HttpRequest.headers - added:
static method HttpHeaders.parse_header_name(header)
- changed:
class HttpResponseBase(six.Iterator) → class HttpResponseBase - changed:
method HttpResponseBase.delete_cookie(key, path=…, domain=…) → method HttpResponseBase.delete_cookie(key, path=…, domain=…, samesite=…) - changed:
method HttpResponseBase.set_cookie(key, value=…, max_age=…, expires=…, path=…, domain=…, secure=…, httponly=…) → method HttpResponseBase.set_cookie(key, value=…, max_age=…, expires=…, path=…, domain=…, secure=…, httponly=…, samesite=…) - added:
constructor FileResponse(*args, as_attachment=…, filename=…, **kwargs) - added:
method FileResponse.set_headers(filelike)
- removed:
method CommonMiddleware.needs_etag(response)
- changed:
function redirect(to, *args, **kwargs) → function redirect(to, *args, permanent=…, **kwargs)
- changed:
class BaseEngine(object) → class BaseEngine
- changed:
class Template(object) → class Template
- changed:
class Origin(object) → class Origin - changed:
class Template(object) → class Template
- removed:
class StringOrigin(six.with_metaclass(DeprecationInstanceCheck, Origin)) - removed:
class TemplateEncodingError(Exception) - removed:
field StringOrigin.alternative - removed:
field StringOrigin.deprecation_warning - removed:
variable TOKEN_BLOCK - removed:
variable TOKEN_COMMENT - removed:
variable TOKEN_MAPPING - removed:
variable TOKEN_TEXT - removed:
variable TOKEN_VAR - changed:
class FilterExpression(object) → class FilterExpression - changed:
class Lexer(object) → class Lexer - changed:
class Node(object) → class Node - changed:
class Origin(object) → class Origin - changed:
class Parser(object) → class Parser - changed:
class Template(object) → class Template - changed:
class Token(object) → class Token - changed:
class Variable(object) → class Variable - added:
class TokenType(Enum) - added:
field TokenType.BLOCK - added:
field TokenType.COMMENT - added:
field TokenType.TEXT - added:
field TokenType.VAR
- removed:
method BaseContext.has_key(key) - changed:
class BaseContext(object) → class BaseContext
- removed:
variable nan - removed:
variable neg_inf - removed:
variable pos_inf - removed:
variable special_floats - added:
function json_script(value, element_id)
- changed:
class Engine(object) → class Engine
- removed:
method Library.assignment_tag(func=…, takes_context=…, name=…) - changed:
class Library(object) → class Library - changed:
function parse_bits(parser, bits, params, varargs, varkw, defaults, takes_context, name) → function parse_bits(parser, bits, params, varargs, varkw, defaults, kwonly, kwonly_defaults, takes_context, name)
- removed:
class LoaderOrigin(six.with_metaclass(DeprecationInstanceCheck, Origin)) - removed:
field LoaderOrigin.alternative - removed:
field LoaderOrigin.deprecation_warning
- removed:
class ExtendsError(Exception) - removed:
variable logger - changed:
class BlockContext(object) → class BlockContext - changed:
constructor IncludeNode(template, *args, **kwargs) → constructor IncludeNode(template, *args, extra_context=…, isolated_context=…, **kwargs)
- removed:
method Loader.load_template(template_name, template_dirs=…) - removed:
method Loader.load_template_source(template_name, template_dirs=…) - removed:
property Loader.supports_recursion - changed:
class Loader(object) → class Loader - changed:
method Loader.get_template(template_name, template_dirs=…, skip=…) → method Loader.get_template(template_name, skip=…)
- removed:
method Loader.find_template(name, dirs=…) - removed:
method Loader.load_template(template_name, template_dirs=…) - removed:
property Loader.supports_recursion - changed:
method Loader.cache_key(template_name, template_dirs, skip=…) → method Loader.cache_key(template_name, skip=…) - changed:
method Loader.get_template(template_name, template_dirs=…, skip=…) → method Loader.get_template(template_name, skip=…) - changed:
method Loader.get_template_sources(template_name, template_dirs=…) → method Loader.get_template_sources(template_name)
- removed:
class EggOrigin(Origin) - removed:
class Loader(BaseLoader) - removed:
constructor EggOrigin(app_name, pkg_name, *args, **kwargs) - removed:
constructor Loader(engine) - removed:
method Loader.get_contents(origin) - removed:
method Loader.get_template_sources(template_name) - removed:
method Loader.load_template_source(template_name, template_dirs=…) - removed:
variable resource_string
- removed:
method Loader.load_template_source(template_name, template_dirs=…) - changed:
method Loader.get_template_sources(template_name, template_dirs=…) → method Loader.get_template_sources(template_name)
- removed:
method Loader.load_template_source(template_name, template_dirs=…)
- changed:
class IfParser(object) → class IfParser - changed:
class TokenBase(object) → class TokenBase
- changed:
class EngineHandler(object) → class EngineHandler
- changed:
class datetimeobject(datetime, object) → class datetimeobject(datetime)
- removed:
export LocaleRegexProvider - removed:
export LocaleRegexURLResolver - removed:
export RegexURLPattern - removed:
export RegexURLResolver - added:
export LocalePrefixPattern - added:
export URLPattern - added:
export URLResolver - added:
export include - added:
export path - added:
export re_path - added:
export register_converter
- added:
function include(arg, namespace=…) - added:
variable path - added:
variable re_path
- added:
class IntConverter - added:
class PathConverter(StringConverter) - added:
class SlugConverter(StringConverter) - added:
class StringConverter - added:
class UUIDConverter - added:
field IntConverter.regex - added:
field PathConverter.regex - added:
field SlugConverter.regex - added:
field StringConverter.regex - added:
field UUIDConverter.regex - added:
function get_converter(raw_converter) - added:
function get_converters() - added:
function register_converter(converter, type_name) - added:
method IntConverter.to_python(value) - added:
method IntConverter.to_url(value) - added:
method StringConverter.to_python(value) - added:
method StringConverter.to_url(value) - added:
method UUIDConverter.to_python(value) - added:
method UUIDConverter.to_url(value) - added:
variable DEFAULT_CONVERTERS - added:
variable REGISTERED_CONVERTERS
- removed:
class LocaleRegexProvider(object) - removed:
class LocaleRegexURLResolver(RegexURLResolver) - removed:
class RegexURLPattern(LocaleRegexProvider) - removed:
class RegexURLResolver(LocaleRegexProvider) - removed:
constructor LocaleRegexProvider(regex) - removed:
constructor LocaleRegexURLResolver(urlconf_name, default_kwargs=…, app_name=…, namespace=…, prefix_default_language=…) - removed:
constructor RegexURLPattern(regex, callback, default_args=…, name=…) - removed:
constructor RegexURLResolver(regex, urlconf_name, default_kwargs=…, app_name=…, namespace=…) - removed:
field LocaleRegexProvider.regex - removed:
method LocaleRegexProvider.describe() - removed:
method RegexURLPattern.check() - removed:
method RegexURLPattern.resolve(path) - removed:
method RegexURLResolver.check() - removed:
method RegexURLResolver.resolve(path) - removed:
method RegexURLResolver.resolve_error_handler(view_type) - removed:
method RegexURLResolver.reverse(lookup_view, *args, **kwargs) - removed:
property LocaleRegexURLResolver.regex - removed:
property RegexURLPattern.lookup_str - removed:
property RegexURLResolver.app_dict - removed:
property RegexURLResolver.namespace_dict - removed:
property RegexURLResolver.reverse_dict - removed:
property RegexURLResolver.url_patterns - removed:
property RegexURLResolver.urlconf_module - changed:
class LocaleRegexDescriptor(object) → class LocaleRegexDescriptor - changed:
class ResolverMatch(object) → class ResolverMatch - changed:
constructor ResolverMatch(func, args, kwargs, url_name=…, app_names=…, namespaces=…) → constructor ResolverMatch(func, args, kwargs, url_name=…, app_names=…, namespaces=…, route=…) - changed:
function get_ns_resolver(ns_pattern, resolver) → function get_ns_resolver(ns_pattern, resolver, converters) - added:
class CheckURLMixin - added:
class LocalePrefixPattern - added:
class RegexPattern(CheckURLMixin) - added:
class RoutePattern(CheckURLMixin) - added:
class URLPattern - added:
class URLResolver - added:
constructor LocalePrefixPattern(prefix_default_language=…) - added:
constructor LocaleRegexDescriptor(attr) - added:
constructor RegexPattern(regex, name=…, is_endpoint=…) - added:
constructor RoutePattern(route, name=…, is_endpoint=…) - added:
constructor URLPattern(pattern, callback, default_args=…, name=…) - added:
constructor URLResolver(pattern, urlconf_name, default_kwargs=…, app_name=…, namespace=…) - added:
field RegexPattern.regex - added:
field RoutePattern.regex - added:
method CheckURLMixin.describe() - added:
method LocalePrefixPattern.check() - added:
method LocalePrefixPattern.describe() - added:
method LocalePrefixPattern.match(path) - added:
method RegexPattern.check() - added:
method RegexPattern.match(path) - added:
method RoutePattern.check() - added:
method RoutePattern.match(path) - added:
method URLPattern.check() - added:
method URLPattern.resolve(path) - added:
method URLResolver.check() - added:
method URLResolver.resolve(path) - added:
method URLResolver.resolve_error_handler(view_type) - added:
method URLResolver.reverse(lookup_view, *args, **kwargs) - added:
property LocalePrefixPattern.language_prefix - added:
property LocalePrefixPattern.regex - added:
property URLPattern.lookup_str - added:
property URLResolver.app_dict - added:
property URLResolver.namespace_dict - added:
property URLResolver.reverse_dict - added:
property URLResolver.url_patterns - added:
property URLResolver.urlconf_module
- changed:
class Archive(object) → class Archive - changed:
class BaseArchive(object) → class BaseArchive - added:
method BaseArchive.target_filename(to_path, name)
- removed:
function clean_files(filelist) - removed:
function code_changed() - removed:
function gen_filenames(only_new=…) - removed:
function inotify_code_changed() - removed:
function jython_reloader(main_func, args, kwargs) - removed:
function main(main_func, args=…, kwargs=…) - removed:
function python_reloader(main_func, args, kwargs) - removed:
function reloader_thread() - removed:
function reset_translations() - removed:
variable FILE_MODIFIED - removed:
variable I18N_MODIFIED - removed:
variable RUN_RELOADER - removed:
variable USE_INOTIFY - removed:
variable fd - added:
class BaseReloader - added:
class StatReloader(BaseReloader) - added:
class WatchmanReloader(BaseReloader) - added:
class WatchmanUnavailable(RuntimeError) - added:
constructor BaseReloader() - added:
constructor WatchmanReloader() - added:
field StatReloader.SLEEP_TIME - added:
function common_roots(paths) - added:
function get_child_arguments() - added:
function get_reloader() - added:
function iter_all_python_module_files() - added:
function iter_modules_and_files(modules, extra_files) - added:
function run_with_reloader(main_func, *args, **kwargs) - added:
function start_django(reloader, main_func, *args, **kwargs) - added:
function sys_path_directories() - added:
function trigger_reload(filename) - added:
method BaseReloader.notify_file_changed(path) - added:
method BaseReloader.run(django_main_thread) - added:
method BaseReloader.run_loop() - added:
method BaseReloader.stop() - added:
method BaseReloader.tick() - added:
method BaseReloader.wait_for_apps_ready(app_reg, django_main_thread) - added:
method BaseReloader.watch_dir(path, glob) - added:
method BaseReloader.watch_file(path) - added:
method BaseReloader.watched_files(include_globs=…) - added:
method StatReloader.snapshot_files() - added:
method StatReloader.tick() - added:
method WatchmanReloader.check_server_status(inner_ex=…) - added:
method WatchmanReloader.request_processed(**kwargs) - added:
method WatchmanReloader.stop() - added:
method WatchmanReloader.tick() - added:
method WatchmanReloader.update_watches() - added:
method WatchmanReloader.watched_roots(watched_files) - added:
property BaseReloader.should_stop - added:
property WatchmanReloader.client - added:
static method BaseReloader.check_availability() - added:
static method StatReloader.check_availability() - added:
static method WatchmanReloader.check_availability() - added:
variable DJANGO_AUTORELOAD_ENV - added:
variable autoreload_started - added:
variable file_changed - added:
variable logger - added:
variable pywatchman
- changed:
class BaseConverter(object) → class BaseConverter
- removed:
variable logger
- removed:
field MultiValueDict.items - removed:
field MultiValueDict.iteritems - removed:
field MultiValueDict.iterlists - removed:
field MultiValueDict.itervalues - removed:
field MultiValueDict.lists - removed:
field MultiValueDict.values - changed:
class OrderedSet(object) → class OrderedSet - added:
class CaseInsensitiveMapping(Mapping) - added:
constructor CaseInsensitiveMapping(data) - added:
method CaseInsensitiveMapping.copy()
- changed:
class Formatter(object) → class Formatter
- added:
variable postgres_interval_re
- removed:
variable MONTHS_3_REV - removed:
variable WEEKDAYS_REV
- changed:
function deconstructible(*args, **kwargs) → function deconstructible(*args, path=…)
- removed:
class ContextDecorator(object) - removed:
variable ContextDecorator - changed:
class classproperty(object) → class classproperty
- removed:
class CallableBool - removed:
class RemovedInDjango20Warning(DeprecationWarning) - removed:
class RemovedInDjango21Warning(PendingDeprecationWarning) - removed:
constructor CallableBool(value) - removed:
field CallableBool.do_not_call_in_templates - removed:
variable CallableFalse - removed:
variable CallableTrue - changed:
class MiddlewareMixin(object) → class MiddlewareMixin - changed:
class warn_about_renamed_method(object) → class warn_about_renamed_method - added:
class RemovedInDjango30Warning(DeprecationWarning) - added:
class RemovedInDjango31Warning(PendingDeprecationWarning)
- added:
function duration_microseconds(delta)
- removed:
variable force_unicode - removed:
variable smart_unicode
- removed:
property Atom1Feed.mime_type - removed:
property RssFeed.mime_type - changed:
class Enclosure(object) → class Enclosure - changed:
class SyndicationFeed(object) → class SyndicationFeed - changed:
method SyndicationFeed.add_item(title, link, description, author_email=…, author_name=…, author_link=…, pubdate=…, comments=…, unique_id=…, unique_id_is_permalink=…, enclosure=…, categories=…, item_copyright=…, ttl=…, updateddate=…, enclosures=…, **kwargs) → method SyndicationFeed.add_item(title, link, description, author_email=…, author_name=…, author_link=…, pubdate=…, comments=…, unique_id=…, unique_id_is_permalink=…, categories=…, item_copyright=…, ttl=…, updateddate=…, enclosures=…, **kwargs)
- removed:
function allow_lazy(func, *resultclasses) - changed:
class LazyObject(object) → class LazyObject - changed:
class Promise(object) → class Promise - changed:
class cached_property(object) → class cached_property - added:
field cached_property.name - added:
static method cached_property.func(instance)
- removed:
function glob_escape(pathname)
- added:
function make_hashable(value)
- added:
function json_script(value, element_id)
- removed:
class HTMLParseError(Exception) - removed:
class HTMLParser(_html_parser.HTMLParser) - removed:
constructor HTMLParser(convert_charrefs=…, **kwargs) - removed:
variable HTMLParseError - removed:
variable HTMLParser
- changed:
function is_safe_url(url, host=…, allowed_hosts=…, require_https=…) → function is_safe_url(url, allowed_hosts, require_https=…)
- removed:
function func_has_no_args(func) - removed:
function getargspec(func) - added:
function method_has_no_args(meth)
- changed:
class Lexer(object) → class Lexer - changed:
class Tok(object) → class Tok
- added:
function log_response(message, *args, response=…, request=…, logger=…, level=…, exc_info=…) - added:
variable request_logger
- removed:
function lru_cache(maxsize=…, typed=…)
- changed:
function format(number, decimal_sep, decimal_pos=…, grouping=…, thousand_sep=…, force_grouping=…) → function format(number, decimal_sep, decimal_pos=…, grouping=…, thousand_sep=…, force_grouping=…, use_l10n=…)
- removed:
class EscapeBytes(bytes, EscapeData) - removed:
class EscapeData(object) - removed:
class EscapeText(six.text_type, EscapeData) - removed:
field SafeBytes.decode - removed:
field SafeText.encode - removed:
function mark_for_escaping(s) - removed:
variable EscapeString - removed:
variable EscapeUnicode - removed:
variable SafeUnicode - changed:
class SafeData(object) → class SafeData - changed:
class SafeText(six.text_type, SafeData) → class SafeText(str, SafeData)
- changed:
class Iterator(object) → class Iterator - changed:
class X(object) → class X
- removed:
class RWLock(object) - removed:
constructor RWLock() - removed:
method RWLock.reader() - removed:
method RWLock.reader_enters() - removed:
method RWLock.reader_leaves() - removed:
method RWLock.writer() - removed:
method RWLock.writer_enters() - removed:
method RWLock.writer_leaves()
- removed:
constructor StreamingBuffer() - removed:
method StreamingBuffer.close() - removed:
method StreamingBuffer.flush() - removed:
method StreamingBuffer.write(val) - changed:
class StreamingBuffer(object) → class StreamingBuffer(BytesIO) - changed:
function get_valid_filename(s) → function get_valid_filename(name)
- changed:
function timesince(d, now=…, reversed=…) → function timesince(d, now=…, reversed=…, time_strings=…) - changed:
function timeuntil(d, now=…) → function timeuntil(d, now=…, time_strings=…) - added:
variable TIME_STRINGS
- added:
class CyclicDependencyError(ValueError) - added:
function stable_topological_sort(nodes, dependency_graph) - added:
function topological_sort_as_sets(dependency_graph)
- removed:
function ugettext(message) - removed:
function ungettext(singular, plural, number) - removed:
function ungettext_lazy(singular, plural, number=…) - removed:
variable string_concat - added:
function to_language(locale) - added:
variable ugettext - added:
variable ungettext - added:
variable ungettext_lazy
- added:
function translation_file_changed(sender, file_path, **kwargs) - added:
function watch_for_translation_changes(sender, **kwargs)
- changed:
function templatize(src, origin=…, charset=…) → function templatize(src, origin=…)
- removed:
function to_locale(language) - removed:
function ugettext(message) - removed:
function ungettext(singular, plural, number) - added:
function get_supported_language_variant(lang_code, strict=…)
- removed:
function do_translate(message, translation_function) - removed:
function to_language(locale) - removed:
function to_locale(language, to_lower=…) - removed:
function ugettext(message) - removed:
function ungettext(singular, plural, number) - removed:
variable ugettext - removed:
variable ungettext - added:
class TranslationCatalog - added:
constructor TranslationCatalog(trans=…) - added:
method DjangoTranslation.ngettext(msgid1, msgid2, n) - added:
method TranslationCatalog.get(key, default=…) - added:
method TranslationCatalog.items() - added:
method TranslationCatalog.keys() - added:
method TranslationCatalog.plural(msgid, num) - added:
method TranslationCatalog.update(trans)
- changed:
class Node(object) → class Node
- added:
function get_version_tuple(version) - added:
variable PY36 - added:
variable PY37 - added:
variable PY38 - added:
variable PY39
- added:
method SimplerXMLGenerator.startElement(name, attrs)
- removed:
method ExceptionReporter.format_exception() - removed:
variable DEFAULT_URLCONF_TEMPLATE - removed:
variable TECHNICAL_404_TEMPLATE - removed:
variable TECHNICAL_500_TEMPLATE - removed:
variable TECHNICAL_500_TEXT_TEMPLATE - changed:
class CallableSettingWrapper(object) → class CallableSettingWrapper - changed:
class ExceptionReporter(object) → class ExceptionReporter - changed:
class ExceptionReporterFilter(object) → class ExceptionReporterFilter - added:
variable CURRENT_DIR
- changed:
function cache_page(*args, **kwargs) → function cache_page(timeout, *, cache=…, key_prefix=…)
- removed:
variable logger
- changed:
class ContextMixin(object) → class ContextMixin - changed:
class TemplateResponseMixin(object) → class TemplateResponseMixin - changed:
class View(object) → class View - added:
field ContextMixin.extra_context - added:
method View.setup(request, *args, **kwargs)
- changed:
class DateMixin(object) → class DateMixin - changed:
class DayMixin(object) → class DayMixin - changed:
class MonthMixin(object) → class MonthMixin - changed:
class WeekMixin(object) → class WeekMixin - changed:
class YearMixin(object) → class YearMixin
- changed:
class DeletionMixin(object) → class DeletionMixin
- changed:
method MultipleObjectMixin.get_context_data(**kwargs) → method MultipleObjectMixin.get_context_data(*, object_list=…, **kwargs)
- removed:
function get_javascript_catalog(locale, domain, packages) - removed:
function javascript_catalog(request, domain=…, packages=…) - removed:
function json_catalog(request, domain=…, packages=…) - removed:
function null_javascript_catalog(request, domain=…, packages=…) - removed:
function render_javascript_catalog(catalog=…, plural=…) - removed:
variable DEFAULT_PACKAGES