Merge ~lvoytek/ubuntu/+source/python-django:merge-lp1946890-jammy into ubuntu/+source/python-django:ubuntu/devel

Proposed by Lena Voytek
Status: Merged
Merge reported by: Lena Voytek
Merged at revision: 70a03e8f1cc32a6dc4e87b4ac0096c0934fd14f8
Proposed branch: ~lvoytek/ubuntu/+source/python-django:merge-lp1946890-jammy
Merge into: ubuntu/+source/python-django:ubuntu/devel
Diff against target: 308659 lines (+118564/-45247) (has conflicts)
2366 files modified
AUTHORS (+77/-2)
Django.egg-info/PKG-INFO (+32/-3)
Django.egg-info/SOURCES.txt (+371/-53)
Django.egg-info/requires.txt (+2/-1)
Gruntfile.js (+3/-1)
INSTALL (+1/-1)
LICENSE.python (+7/-8)
MANIFEST.in (+0/-1)
PKG-INFO (+32/-3)
README.rst (+15/-0)
debian/changelog (+373/-0)
debian/control (+8/-0)
debian/copyright (+0/-8)
debian/gbp.conf (+1/-1)
debian/patches/0001-disable-sources-in-sphinxdoc.diff (+7/-0)
debian/patches/0002-use_debian_geoip_database_as_default.diff (+3/-3)
debian/patches/0004-Set-the-default-shebang-to-new-projects-to-use-Pytho.patch (+1/-1)
debian/patches/0004-Use-locally-installed-documentation-sources.patch (+9/-2)
debian/patches/0005-Use-usr-bin-env-python3-shebang-for-django-admin.py.patch (+3/-3)
debian/patches/0006-Fixed-32690-Fixed-__in-lookup-crash-when-combining-w.patch (+57/-0)
debian/patches/series (+4/-0)
debian/watch (+4/-0)
dev/null (+0/-58)
django/__init__.py (+4/-0)
django/apps/config.py (+145/-55)
django/apps/registry.py (+9/-7)
django/bin/django-admin.py (+16/-0)
django/conf/__init__.py (+55/-37)
django/conf/app_template/apps.py-tpl (+1/-0)
django/conf/global_settings.py (+33/-15)
django/conf/locale/__init__.py (+38/-2)
django/conf/locale/af/LC_MESSAGES/django.po (+90/-98)
django/conf/locale/ar/LC_MESSAGES/django.po (+158/-94)
django/conf/locale/ar_DZ/LC_MESSAGES/django.po (+1379/-0)
django/conf/locale/ar_DZ/formats.py (+29/-0)
django/conf/locale/ast/LC_MESSAGES/django.po (+81/-56)
django/conf/locale/az/LC_MESSAGES/django.po (+100/-82)
django/conf/locale/az/formats.py (+0/-2)
django/conf/locale/be/LC_MESSAGES/django.po (+152/-100)
django/conf/locale/bg/LC_MESSAGES/django.po (+108/-92)
django/conf/locale/bn/LC_MESSAGES/django.po (+78/-51)
django/conf/locale/br/LC_MESSAGES/django.po (+111/-76)
django/conf/locale/bs/LC_MESSAGES/django.po (+76/-49)
django/conf/locale/ca/LC_MESSAGES/django.po (+163/-125)
django/conf/locale/cs/LC_MESSAGES/django.po (+148/-109)
django/conf/locale/cs/formats.py (+0/-2)
django/conf/locale/cy/LC_MESSAGES/django.po (+85/-81)
django/conf/locale/cy/formats.py (+0/-3)
django/conf/locale/da/LC_MESSAGES/django.po (+139/-102)
django/conf/locale/de/LC_MESSAGES/django.po (+105/-70)
django/conf/locale/de/formats.py (+0/-1)
django/conf/locale/de_CH/formats.py (+2/-3)
django/conf/locale/dsb/LC_MESSAGES/django.po (+135/-99)
django/conf/locale/el/LC_MESSAGES/django.po (+116/-83)
django/conf/locale/el/formats.py (+0/-3)
django/conf/locale/en/LC_MESSAGES/django.po (+337/-294)
django/conf/locale/en/formats.py (+0/-3)
django/conf/locale/en_AU/LC_MESSAGES/django.po (+82/-56)
django/conf/locale/en_AU/formats.py (+0/-3)
django/conf/locale/en_GB/LC_MESSAGES/django.po (+81/-55)
django/conf/locale/en_GB/formats.py (+0/-3)
django/conf/locale/eo/LC_MESSAGES/django.po (+117/-118)
django/conf/locale/eo/formats.py (+2/-4)
django/conf/locale/es/LC_MESSAGES/django.po (+179/-138)
django/conf/locale/es_AR/LC_MESSAGES/django.po (+137/-105)
django/conf/locale/es_CO/LC_MESSAGES/django.po (+108/-91)
django/conf/locale/es_MX/LC_MESSAGES/django.po (+158/-101)
django/conf/locale/es_VE/LC_MESSAGES/django.po (+109/-94)
django/conf/locale/et/LC_MESSAGES/django.po (+152/-109)
django/conf/locale/eu/LC_MESSAGES/django.po (+122/-120)
django/conf/locale/fa/LC_MESSAGES/django.po (+146/-106)
django/conf/locale/fi/LC_MESSAGES/django.po (+112/-76)
django/conf/locale/fi/formats.py (+0/-2)
django/conf/locale/fr/LC_MESSAGES/django.po (+168/-134)
django/conf/locale/fr/formats.py (+0/-2)
django/conf/locale/fy/LC_MESSAGES/django.po (+76/-49)
django/conf/locale/ga/LC_MESSAGES/django.po (+103/-62)
django/conf/locale/gd/LC_MESSAGES/django.po (+124/-87)
django/conf/locale/gl/LC_MESSAGES/django.po (+81/-56)
django/conf/locale/he/LC_MESSAGES/django.po (+119/-88)
django/conf/locale/hi/LC_MESSAGES/django.po (+103/-59)
django/conf/locale/hr/LC_MESSAGES/django.po (+88/-91)
django/conf/locale/hr/formats.py (+0/-5)
django/conf/locale/hsb/LC_MESSAGES/django.po (+137/-103)
django/conf/locale/hu/LC_MESSAGES/django.po (+151/-115)
django/conf/locale/hu/formats.py (+0/-1)
django/conf/locale/hy/LC_MESSAGES/django.po (+77/-83)
django/conf/locale/ia/LC_MESSAGES/django.po (+87/-87)
django/conf/locale/id/LC_MESSAGES/django.po (+160/-128)
django/conf/locale/id/formats.py (+2/-5)
django/conf/locale/ig/LC_MESSAGES/django.po (+1271/-0)
django/conf/locale/ig/formats.py (+32/-0)
django/conf/locale/io/LC_MESSAGES/django.po (+78/-53)
django/conf/locale/is/LC_MESSAGES/django.po (+109/-77)
django/conf/locale/it/LC_MESSAGES/django.po (+135/-99)
django/conf/locale/it/formats.py (+0/-5)
django/conf/locale/ja/LC_MESSAGES/django.po (+135/-98)
django/conf/locale/ka/LC_MESSAGES/django.po (+67/-76)
django/conf/locale/ka/formats.py (+1/-6)
django/conf/locale/kab/LC_MESSAGES/django.po (+76/-47)
django/conf/locale/kk/LC_MESSAGES/django.po (+61/-51)
django/conf/locale/km/LC_MESSAGES/django.po (+76/-47)
django/conf/locale/kn/LC_MESSAGES/django.po (+59/-51)
django/conf/locale/ko/LC_MESSAGES/django.po (+108/-75)
django/conf/locale/ko/formats.py (+0/-3)
django/conf/locale/ky/LC_MESSAGES/django.po (+1276/-0)
django/conf/locale/ky/formats.py (+32/-0)
django/conf/locale/lb/LC_MESSAGES/django.po (+76/-47)
django/conf/locale/lt/LC_MESSAGES/django.po (+70/-95)
django/conf/locale/lt/formats.py (+0/-2)
django/conf/locale/lv/LC_MESSAGES/django.po (+146/-112)
django/conf/locale/lv/formats.py (+0/-2)
django/conf/locale/mk/LC_MESSAGES/django.po (+131/-112)
django/conf/locale/mk/formats.py (+0/-4)
django/conf/locale/ml/LC_MESSAGES/django.po (+101/-83)
django/conf/locale/ml/formats.py (+0/-3)
django/conf/locale/mn/LC_MESSAGES/django.po (+70/-88)
django/conf/locale/mr/LC_MESSAGES/django.po (+76/-47)
django/conf/locale/my/LC_MESSAGES/django.po (+76/-47)
django/conf/locale/nb/LC_MESSAGES/django.po (+137/-101)
django/conf/locale/nb/formats.py (+0/-3)
django/conf/locale/ne/LC_MESSAGES/django.po (+98/-74)
django/conf/locale/nl/LC_MESSAGES/django.po (+118/-90)
django/conf/locale/nl/formats.py (+1/-5)
django/conf/locale/nn/LC_MESSAGES/django.po (+81/-56)
django/conf/locale/nn/formats.py (+0/-4)
django/conf/locale/os/LC_MESSAGES/django.po (+81/-56)
django/conf/locale/pa/LC_MESSAGES/django.po (+78/-49)
django/conf/locale/pl/LC_MESSAGES/django.po (+144/-109)
django/conf/locale/pl/formats.py (+0/-1)
django/conf/locale/pt/LC_MESSAGES/django.po (+70/-93)
django/conf/locale/pt/formats.py (+0/-3)
django/conf/locale/pt_BR/LC_MESSAGES/django.po (+157/-118)
django/conf/locale/pt_BR/formats.py (+0/-2)
django/conf/locale/ro/LC_MESSAGES/django.po (+75/-98)
django/conf/locale/ru/LC_MESSAGES/django.po (+146/-109)
django/conf/locale/ru/formats.py (+0/-2)
django/conf/locale/sk/LC_MESSAGES/django.po (+123/-113)
django/conf/locale/sk/formats.py (+0/-1)
django/conf/locale/sl/LC_MESSAGES/django.po (+85/-97)
django/conf/locale/sl/formats.py (+0/-5)
django/conf/locale/sq/LC_MESSAGES/django.po (+141/-105)
django/conf/locale/sr/LC_MESSAGES/django.po (+149/-113)
django/conf/locale/sr/formats.py (+0/-4)
django/conf/locale/sr_Latn/LC_MESSAGES/django.po (+186/-119)
django/conf/locale/sr_Latn/formats.py (+0/-4)
django/conf/locale/sv/LC_MESSAGES/django.po (+121/-116)
django/conf/locale/sv/formats.py (+0/-3)
django/conf/locale/sw/LC_MESSAGES/django.po (+87/-60)
django/conf/locale/ta/LC_MESSAGES/django.po (+97/-51)
django/conf/locale/te/LC_MESSAGES/django.po (+97/-51)
django/conf/locale/tg/LC_MESSAGES/django.po (+1299/-0)
django/conf/locale/tg/__init__.py (+0/-0)
django/conf/locale/tg/formats.py (+32/-0)
django/conf/locale/th/LC_MESSAGES/django.po (+79/-63)
django/conf/locale/tk/LC_MESSAGES/django.po (+1297/-0)
django/conf/locale/tk/__init__.py (+0/-0)
django/conf/locale/tk/formats.py (+32/-0)
django/conf/locale/tr/LC_MESSAGES/django.po (+140/-104)
django/conf/locale/tr/formats.py (+0/-1)
django/conf/locale/tt/LC_MESSAGES/django.po (+79/-52)
django/conf/locale/udm/LC_MESSAGES/django.po (+78/-52)
django/conf/locale/uk/LC_MESSAGES/django.po (+119/-121)
django/conf/locale/uk/formats.py (+0/-2)
django/conf/locale/ur/LC_MESSAGES/django.po (+77/-48)
django/conf/locale/uz/LC_MESSAGES/django.po (+1295/-0)
django/conf/locale/uz/__init__.py (+0/-0)
django/conf/locale/uz/formats.py (+30/-0)
django/conf/locale/vi/LC_MESSAGES/django.po (+105/-65)
django/conf/locale/zh_Hans/LC_MESSAGES/django.po (+145/-106)
django/conf/locale/zh_Hant/LC_MESSAGES/django.po (+94/-83)
django/conf/project_template/manage.py-tpl (+1/-0)
django/conf/project_template/project_name/asgi.py-tpl (+16/-0)
django/conf/project_template/project_name/settings.py-tpl (+9/-4)
django/conf/urls/__init__.py (+9/-0)
django/contrib/admin/__init__.py (+6/-11)
django/contrib/admin/actions.py (+5/-4)
django/contrib/admin/apps.py (+3/-0)
django/contrib/admin/checks.py (+64/-61)
django/contrib/admin/decorators.py (+74/-1)
django/contrib/admin/filters.py (+62/-8)
django/contrib/admin/forms.py (+2/-2)
django/contrib/admin/helpers.py (+34/-8)
django/contrib/admin/locale/af/LC_MESSAGES/django.po (+82/-78)
django/contrib/admin/locale/ar/LC_MESSAGES/django.po (+115/-103)
django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po (+48/-45)
django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po (+720/-0)
django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po (+226/-0)
django/contrib/admin/locale/az/LC_MESSAGES/django.po (+89/-101)
django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po (+27/-27)
django/contrib/admin/locale/be/LC_MESSAGES/django.po (+113/-78)
django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po (+71/-23)
django/contrib/admin/locale/bg/LC_MESSAGES/django.po (+116/-105)
django/contrib/admin/locale/ca/LC_MESSAGES/django.po (+75/-63)
django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po (+16/-16)
django/contrib/admin/locale/cs/LC_MESSAGES/django.po (+62/-53)
django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po (+59/-11)
django/contrib/admin/locale/da/LC_MESSAGES/django.po (+75/-65)
django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po (+59/-10)
django/contrib/admin/locale/de/LC_MESSAGES/django.po (+79/-68)
django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po (+30/-28)
django/contrib/admin/locale/dsb/LC_MESSAGES/django.po (+66/-59)
django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po (+55/-7)
django/contrib/admin/locale/el/LC_MESSAGES/django.po (+176/-177)
django/contrib/admin/locale/en/LC_MESSAGES/django.po (+168/-156)
django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po (+114/-61)
django/contrib/admin/locale/eo/LC_MESSAGES/django.po (+86/-92)
django/contrib/admin/locale/es/LC_MESSAGES/django.po (+107/-100)
django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po (+81/-32)
django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po (+78/-69)
django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po (+61/-13)
django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po (+114/-95)
django/contrib/admin/locale/et/LC_MESSAGES/django.po (+95/-84)
django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po (+77/-27)
django/contrib/admin/locale/eu/LC_MESSAGES/django.po (+81/-85)
django/contrib/admin/locale/fa/LC_MESSAGES/django.po (+73/-61)
django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po (+61/-12)
django/contrib/admin/locale/fi/LC_MESSAGES/django.po (+69/-60)
django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po (+72/-23)
django/contrib/admin/locale/fr/LC_MESSAGES/django.po (+119/-109)
django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po (+57/-9)
django/contrib/admin/locale/gd/LC_MESSAGES/django.po (+90/-85)
django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po (+56/-7)
django/contrib/admin/locale/he/LC_MESSAGES/django.po (+92/-85)
django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po (+11/-11)
django/contrib/admin/locale/hsb/LC_MESSAGES/django.po (+67/-57)
django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po (+55/-7)
django/contrib/admin/locale/hu/LC_MESSAGES/django.po (+95/-79)
django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po (+57/-9)
django/contrib/admin/locale/id/LC_MESSAGES/django.po (+95/-87)
django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po (+61/-12)
django/contrib/admin/locale/is/LC_MESSAGES/django.po (+59/-50)
django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po (+8/-8)
django/contrib/admin/locale/it/LC_MESSAGES/django.po (+72/-64)
django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po (+59/-10)
django/contrib/admin/locale/ja/LC_MESSAGES/django.po (+82/-69)
django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po (+56/-7)
django/contrib/admin/locale/ko/LC_MESSAGES/django.po (+92/-76)
django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po (+8/-7)
django/contrib/admin/locale/ky/LC_MESSAGES/django.po (+705/-0)
django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po (+260/-0)
django/contrib/admin/locale/lv/LC_MESSAGES/django.po (+81/-77)
django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po (+59/-10)
django/contrib/admin/locale/mk/LC_MESSAGES/django.po (+121/-114)
django/contrib/admin/locale/ml/LC_MESSAGES/django.po (+71/-74)
django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po (+7/-11)
django/contrib/admin/locale/nb/LC_MESSAGES/django.po (+62/-53)
django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po (+60/-11)
django/contrib/admin/locale/ne/LC_MESSAGES/django.po (+100/-76)
django/contrib/admin/locale/nl/LC_MESSAGES/django.po (+87/-76)
django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po (+17/-16)
django/contrib/admin/locale/pl/LC_MESSAGES/django.po (+81/-71)
django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po (+58/-9)
django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po (+98/-84)
django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po (+62/-11)
django/contrib/admin/locale/ro/LC_MESSAGES/django.po (+81/-88)
django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po (+15/-15)
django/contrib/admin/locale/ru/LC_MESSAGES/django.po (+71/-62)
django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po (+59/-8)
django/contrib/admin/locale/sk/LC_MESSAGES/django.po (+72/-88)
django/contrib/admin/locale/sq/LC_MESSAGES/django.po (+93/-84)
django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po (+59/-10)
django/contrib/admin/locale/sr/LC_MESSAGES/django.po (+71/-84)
django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po (+63/-9)
django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po (+62/-9)
django/contrib/admin/locale/sv/LC_MESSAGES/django.po (+96/-89)
django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po (+17/-17)
django/contrib/admin/locale/tg/LC_MESSAGES/django.po (+699/-0)
django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po (+222/-0)
django/contrib/admin/locale/th/LC_MESSAGES/django.po (+77/-90)
django/contrib/admin/locale/tr/LC_MESSAGES/django.po (+72/-64)
django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po (+63/-15)
django/contrib/admin/locale/uz/LC_MESSAGES/django.po (+670/-0)
django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po (+218/-0)
django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po (+89/-78)
django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po (+63/-13)
django/contrib/admin/migrations/0001_initial.py (+1/-1)
django/contrib/admin/models.py (+8/-8)
django/contrib/admin/options.py (+96/-83)
django/contrib/admin/sites.py (+48/-16)
django/contrib/admin/static/admin/css/autocomplete.css (+36/-21)
django/contrib/admin/static/admin/css/base.css (+210/-145)
django/contrib/admin/static/admin/css/changelists.css (+75/-68)
django/contrib/admin/static/admin/css/dashboard.css (+0/-1)
django/contrib/admin/static/admin/css/forms.css (+29/-38)
django/contrib/admin/static/admin/css/login.css (+11/-30)
django/contrib/admin/static/admin/css/nav_sidebar.css (+120/-0)
django/contrib/admin/static/admin/css/responsive.css (+58/-47)
django/contrib/admin/static/admin/css/responsive_rtl.css (+8/-12)
django/contrib/admin/static/admin/css/rtl.css (+3/-45)
django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md (+1/-1)
django/contrib/admin/static/admin/css/vendor/select2/select2.css (+8/-11)
django/contrib/admin/static/admin/css/vendor/select2/select2.min.css (+1/-1)
django/contrib/admin/static/admin/css/widgets.css (+48/-39)
django/contrib/admin/static/admin/js/SelectBox.js (+37/-69)
django/contrib/admin/static/admin/js/SelectFilter2.js (+61/-71)
django/contrib/admin/static/admin/js/actions.js (+184/-136)
django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js (+61/-69)
django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js (+30/-56)
django/contrib/admin/static/admin/js/autocomplete.js (+12/-8)
django/contrib/admin/static/admin/js/calendar.js (+38/-25)
django/contrib/admin/static/admin/js/cancel.js (+25/-9)
django/contrib/admin/static/admin/js/change_form.js (+14/-18)
django/contrib/admin/static/admin/js/collapse.js (+16/-28)
django/contrib/admin/static/admin/js/core.js (+30/-72)
django/contrib/admin/static/admin/js/inlines.js (+164/-114)
django/contrib/admin/static/admin/js/jquery.init.js (+3/-3)
django/contrib/admin/static/admin/js/nav_sidebar.js (+39/-0)
django/contrib/admin/static/admin/js/popup_response.js (+4/-4)
django/contrib/admin/static/admin/js/prepopulate.js (+7/-6)
django/contrib/admin/static/admin/js/prepopulate_init.js (+5/-4)
django/contrib/admin/static/admin/js/urlify.js (+26/-51)
django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md (+1/-1)
django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js (+3/-0)
django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js (+2/-2)
django/contrib/admin/static/admin/js/vendor/select2/select2.full.js (+670/-286)
django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js (+2/-3)
django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt (+1/-1)
django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js (+4218/-1874)
django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js (+160/-18)
django/contrib/admin/templates/admin/404.html (+3/-3)
django/contrib/admin/templates/admin/500.html (+5/-5)
django/contrib/admin/templates/admin/actions.html (+5/-5)
django/contrib/admin/templates/admin/app_index.html (+1/-1)
django/contrib/admin/templates/admin/app_list.html (+40/-0)
django/contrib/admin/templates/admin/auth/user/add_form.html (+2/-2)
django/contrib/admin/templates/admin/auth/user/change_password.html (+7/-10)
django/contrib/admin/templates/admin/base.html (+39/-28)
django/contrib/admin/templates/admin/base_site.html (+1/-1)
django/contrib/admin/templates/admin/change_form.html (+8/-8)
django/contrib/admin/templates/admin/change_form_object_tools.html (+2/-2)
django/contrib/admin/templates/admin/change_list.html (+24/-20)
django/contrib/admin/templates/admin/change_list_object_tools.html (+1/-1)
django/contrib/admin/templates/admin/change_list_results.html (+5/-5)
django/contrib/admin/templates/admin/delete_confirmation.html (+9/-9)
django/contrib/admin/templates/admin/delete_selected_confirmation.html (+9/-9)
django/contrib/admin/templates/admin/edit_inline/stacked.html (+10/-2)
django/contrib/admin/templates/admin/edit_inline/tabular.html (+14/-6)
django/contrib/admin/templates/admin/filter.html (+1/-1)
django/contrib/admin/templates/admin/includes/object_delete_summary.html (+1/-1)
django/contrib/admin/templates/admin/index.html (+8/-44)
django/contrib/admin/templates/admin/invalid_setup.html (+2/-2)
django/contrib/admin/templates/admin/login.html (+7/-5)
django/contrib/admin/templates/admin/nav_sidebar.html (+5/-0)
django/contrib/admin/templates/admin/object_history.html (+6/-6)
django/contrib/admin/templates/admin/pagination.html (+2/-2)
django/contrib/admin/templates/admin/popup_response.html (+2/-3)
django/contrib/admin/templates/admin/prepopulated_fields_js.html (+1/-2)
django/contrib/admin/templates/admin/search_form.html (+2/-2)
django/contrib/admin/templates/admin/submit_line.html (+6/-6)
django/contrib/admin/templates/admin/widgets/clearable_file_input.html (+1/-1)
django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html (+2/-1)
django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html (+6/-6)
django/contrib/admin/templates/registration/logged_out.html (+5/-3)
django/contrib/admin/templates/registration/password_change_done.html (+4/-6)
django/contrib/admin/templates/registration/password_change_form.html (+6/-9)
django/contrib/admin/templates/registration/password_reset_complete.html (+4/-7)
django/contrib/admin/templates/registration/password_reset_confirm.html (+8/-9)
django/contrib/admin/templates/registration/password_reset_done.html (+4/-6)
django/contrib/admin/templates/registration/password_reset_email.html (+5/-5)
django/contrib/admin/templates/registration/password_reset_form.html (+5/-7)
django/contrib/admin/templatetags/admin_list.py (+27/-46)
django/contrib/admin/templatetags/admin_modify.py (+9/-4)
django/contrib/admin/templatetags/base.py (+1/-1)
django/contrib/admin/tests.py (+40/-31)
django/contrib/admin/utils.py (+38/-10)
django/contrib/admin/views/autocomplete.py (+60/-10)
django/contrib/admin/views/main.py (+85/-33)
django/contrib/admin/widgets.py (+18/-17)
django/contrib/admindocs/__init__.py (+0/-1)
django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po (+11/-10)
django/contrib/admindocs/locale/ar_DZ/LC_MESSAGES/django.po (+276/-0)
django/contrib/admindocs/locale/be/LC_MESSAGES/django.po (+9/-9)
django/contrib/admindocs/locale/ca/LC_MESSAGES/django.po (+7/-6)
django/contrib/admindocs/locale/cs/LC_MESSAGES/django.po (+11/-11)
django/contrib/admindocs/locale/da/LC_MESSAGES/django.po (+11/-10)
django/contrib/admindocs/locale/de/LC_MESSAGES/django.po (+9/-9)
django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.po (+9/-9)
django/contrib/admindocs/locale/en/LC_MESSAGES/django.po (+20/-20)
django/contrib/admindocs/locale/eo/LC_MESSAGES/django.po (+10/-11)
django/contrib/admindocs/locale/es/LC_MESSAGES/django.po (+27/-26)
django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.po (+9/-9)
django/contrib/admindocs/locale/et/LC_MESSAGES/django.po (+8/-7)
django/contrib/admindocs/locale/fa/LC_MESSAGES/django.po (+10/-9)
django/contrib/admindocs/locale/fi/LC_MESSAGES/django.po (+8/-8)
django/contrib/admindocs/locale/fr/LC_MESSAGES/django.po (+8/-8)
django/contrib/admindocs/locale/gd/LC_MESSAGES/django.po (+9/-8)
django/contrib/admindocs/locale/he/LC_MESSAGES/django.po (+7/-7)
django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.po (+9/-9)
django/contrib/admindocs/locale/hu/LC_MESSAGES/django.po (+10/-8)
django/contrib/admindocs/locale/id/LC_MESSAGES/django.po (+8/-7)
django/contrib/admindocs/locale/it/LC_MESSAGES/django.po (+10/-10)
django/contrib/admindocs/locale/ja/LC_MESSAGES/django.po (+12/-10)
django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po (+8/-7)
django/contrib/admindocs/locale/ky/LC_MESSAGES/django.po (+281/-0)
django/contrib/admindocs/locale/lv/LC_MESSAGES/django.po (+11/-10)
django/contrib/admindocs/locale/nb/LC_MESSAGES/django.po (+15/-14)
django/contrib/admindocs/locale/ne/LC_MESSAGES/django.po (+13/-9)
django/contrib/admindocs/locale/nl/LC_MESSAGES/django.po (+48/-45)
django/contrib/admindocs/locale/pl/LC_MESSAGES/django.po (+12/-11)
django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.po (+11/-9)
django/contrib/admindocs/locale/ro/LC_MESSAGES/django.po (+10/-9)
django/contrib/admindocs/locale/ru/LC_MESSAGES/django.po (+13/-11)
django/contrib/admindocs/locale/sq/LC_MESSAGES/django.po (+12/-11)
django/contrib/admindocs/locale/tg/LC_MESSAGES/django.po (+281/-0)
django/contrib/admindocs/locale/tr/LC_MESSAGES/django.po (+16/-16)
django/contrib/admindocs/locale/uk/LC_MESSAGES/django.po (+11/-10)
django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.po (+12/-10)
django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.po (+9/-9)
django/contrib/admindocs/middleware.py (+4/-6)
django/contrib/admindocs/templates/admin_doc/bookmarklets.html (+8/-8)
django/contrib/admindocs/templates/admin_doc/index.html (+14/-14)
django/contrib/admindocs/templates/admin_doc/missing_docutils.html (+6/-6)
django/contrib/admindocs/templates/admin_doc/model_detail.html (+13/-13)
django/contrib/admindocs/templates/admin_doc/model_index.html (+6/-6)
django/contrib/admindocs/templates/admin_doc/template_detail.html (+8/-8)
django/contrib/admindocs/templates/admin_doc/template_filter_index.html (+6/-6)
django/contrib/admindocs/templates/admin_doc/template_tag_index.html (+6/-6)
django/contrib/admindocs/templates/admin_doc/view_detail.html (+7/-7)
django/contrib/admindocs/templates/admin_doc/view_index.html (+11/-11)
django/contrib/admindocs/utils.py (+22/-31)
django/contrib/admindocs/views.py (+5/-5)
django/contrib/auth/__init__.py (+12/-15)
django/contrib/auth/apps.py (+1/-0)
django/contrib/auth/backends.py (+66/-21)
django/contrib/auth/base_user.py (+14/-1)
django/contrib/auth/checks.py (+56/-12)
django/contrib/auth/forms.py (+55/-44)
django/contrib/auth/hashers.py (+224/-132)
django/contrib/auth/locale/af/LC_MESSAGES/django.po (+15/-15)
django/contrib/auth/locale/ar/LC_MESSAGES/django.po (+46/-40)
django/contrib/auth/locale/ar_DZ/LC_MESSAGES/django.po (+316/-0)
django/contrib/auth/locale/az/LC_MESSAGES/django.po (+9/-9)
django/contrib/auth/locale/be/LC_MESSAGES/django.po (+9/-9)
django/contrib/auth/locale/ca/LC_MESSAGES/django.po (+19/-16)
django/contrib/auth/locale/cs/LC_MESSAGES/django.po (+9/-9)
django/contrib/auth/locale/da/LC_MESSAGES/django.po (+9/-9)
django/contrib/auth/locale/de/LC_MESSAGES/django.po (+13/-13)
django/contrib/auth/locale/dsb/LC_MESSAGES/django.po (+9/-9)
django/contrib/auth/locale/en/LC_MESSAGES/django.po (+92/-92)
django/contrib/auth/locale/eo/LC_MESSAGES/django.po (+23/-23)
django/contrib/auth/locale/es/LC_MESSAGES/django.po (+18/-16)
django/contrib/auth/locale/es_AR/LC_MESSAGES/django.po (+9/-9)
django/contrib/auth/locale/es_MX/LC_MESSAGES/django.po (+17/-16)
django/contrib/auth/locale/et/LC_MESSAGES/django.po (+13/-12)
django/contrib/auth/locale/fa/LC_MESSAGES/django.po (+12/-11)
django/contrib/auth/locale/fi/LC_MESSAGES/django.po (+9/-9)
django/contrib/auth/locale/fr/LC_MESSAGES/django.po (+18/-18)
django/contrib/auth/locale/gd/LC_MESSAGES/django.po (+9/-8)
django/contrib/auth/locale/he/LC_MESSAGES/django.po (+13/-12)
django/contrib/auth/locale/hsb/LC_MESSAGES/django.po (+13/-13)
django/contrib/auth/locale/hu/LC_MESSAGES/django.po (+16/-16)
django/contrib/auth/locale/id/LC_MESSAGES/django.po (+14/-14)
django/contrib/auth/locale/is/LC_MESSAGES/django.po (+8/-8)
django/contrib/auth/locale/it/LC_MESSAGES/django.po (+11/-11)
django/contrib/auth/locale/ja/LC_MESSAGES/django.po (+9/-8)
django/contrib/auth/locale/ko/LC_MESSAGES/django.po (+20/-18)
django/contrib/auth/locale/ky/LC_MESSAGES/django.po (+296/-0)
django/contrib/auth/locale/lv/LC_MESSAGES/django.po (+12/-12)
django/contrib/auth/locale/nb/LC_MESSAGES/django.po (+8/-8)
django/contrib/auth/locale/ne/LC_MESSAGES/django.po (+13/-13)
django/contrib/auth/locale/nl/LC_MESSAGES/django.po (+13/-13)
django/contrib/auth/locale/pl/LC_MESSAGES/django.po (+8/-8)
django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.po (+17/-14)
django/contrib/auth/locale/ro/LC_MESSAGES/django.po (+17/-17)
django/contrib/auth/locale/ru/LC_MESSAGES/django.po (+17/-17)
django/contrib/auth/locale/sq/LC_MESSAGES/django.po (+12/-12)
django/contrib/auth/locale/sr/LC_MESSAGES/django.po (+12/-11)
django/contrib/auth/locale/sv/LC_MESSAGES/django.po (+12/-10)
django/contrib/auth/locale/tg/LC_MESSAGES/django.po (+299/-0)
django/contrib/auth/locale/tk/LC_MESSAGES/django.po (+303/-0)
django/contrib/auth/locale/tr/LC_MESSAGES/django.po (+14/-14)
django/contrib/auth/locale/uk/LC_MESSAGES/django.po (+13/-12)
django/contrib/auth/locale/uz/LC_MESSAGES/django.po (+287/-0)
django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po (+24/-19)
django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po (+8/-8)
django/contrib/auth/management/__init__.py (+6/-3)
django/contrib/auth/management/commands/__init__.py (+0/-0)
django/contrib/auth/management/commands/changepassword.py (+3/-3)
django/contrib/auth/management/commands/createsuperuser.py (+48/-15)
django/contrib/auth/middleware.py (+2/-3)
django/contrib/auth/migrations/0001_initial.py (+1/-1)
django/contrib/auth/migrations/0011_update_proxy_permissions.py (+1/-2)
django/contrib/auth/migrations/0012_alter_user_first_name_max_length.py (+16/-0)
django/contrib/auth/mixins.py (+21/-2)
django/contrib/auth/models.py (+57/-22)
django/contrib/auth/password_validation.py (+8/-10)
django/contrib/auth/signals.py (+3/-3)
django/contrib/auth/templates/registration/password_reset_subject.txt (+1/-1)
django/contrib/auth/tokens.py (+48/-24)
django/contrib/auth/urls.py (+1/-1)
django/contrib/auth/validators.py (+2/-2)
django/contrib/auth/views.py (+8/-6)
django/contrib/contenttypes/__init__.py (+0/-1)
django/contrib/contenttypes/admin.py (+7/-9)
django/contrib/contenttypes/apps.py (+1/-0)
django/contrib/contenttypes/fields.py (+37/-22)
django/contrib/contenttypes/forms.py (+3/-1)
django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po (+14/-12)
django/contrib/contenttypes/locale/ar_DZ/LC_MESSAGES/django.po (+43/-0)
django/contrib/contenttypes/locale/az/LC_MESSAGES/django.po (+6/-5)
django/contrib/contenttypes/locale/be/LC_MESSAGES/django.po (+6/-5)
django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.po (+7/-6)
django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.po (+7/-6)
django/contrib/contenttypes/locale/da/LC_MESSAGES/django.po (+9/-9)
django/contrib/contenttypes/locale/de/LC_MESSAGES/django.po (+5/-5)
django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.po (+5/-5)
django/contrib/contenttypes/locale/el/LC_MESSAGES/django.po (+5/-5)
django/contrib/contenttypes/locale/en/LC_MESSAGES/django.po (+10/-10)
django/contrib/contenttypes/locale/es/LC_MESSAGES/django.po (+8/-7)
django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.po (+5/-5)
django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.po (+10/-9)
django/contrib/contenttypes/locale/et/LC_MESSAGES/django.po (+8/-7)
django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.po (+8/-7)
django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.po (+5/-5)
django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.po (+8/-8)
django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.po (+5/-4)
django/contrib/contenttypes/locale/he/LC_MESSAGES/django.po (+8/-8)
django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.po (+5/-5)
django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.po (+9/-7)
django/contrib/contenttypes/locale/id/LC_MESSAGES/django.po (+8/-7)
django/contrib/contenttypes/locale/is/LC_MESSAGES/django.po (+5/-5)
django/contrib/contenttypes/locale/it/LC_MESSAGES/django.po (+6/-5)
django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.po (+6/-5)
django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po (+8/-7)
django/contrib/contenttypes/locale/ky/LC_MESSAGES/django.po (+42/-0)
django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.po (+7/-6)
django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.po (+6/-5)
django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.po (+4/-4)
django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.po (+6/-5)
django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.po (+9/-8)
django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.po (+8/-9)
django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.po (+5/-4)
django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.po (+7/-6)
django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.po (+6/-6)
django/contrib/contenttypes/locale/tg/LC_MESSAGES/django.po (+41/-0)
django/contrib/contenttypes/locale/tk/LC_MESSAGES/django.po (+42/-0)
django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po (+7/-6)
django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.po (+10/-9)
django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po (+9/-8)
django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po (+5/-5)
django/contrib/contenttypes/management/__init__.py (+5/-4)
django/contrib/contenttypes/management/commands/__init__.py (+0/-0)
django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py (+23/-9)
django/contrib/contenttypes/models.py (+10/-3)
django/contrib/contenttypes/views.py (+2/-2)
django/contrib/flatpages/__init__.py (+0/-1)
django/contrib/flatpages/apps.py (+1/-0)
django/contrib/flatpages/forms.py (+6/-5)
django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po (+12/-8)
django/contrib/flatpages/locale/ar_DZ/LC_MESSAGES/django.po (+87/-0)
django/contrib/flatpages/locale/az/LC_MESSAGES/django.po (+14/-10)
django/contrib/flatpages/locale/be/LC_MESSAGES/django.po (+12/-8)
django/contrib/flatpages/locale/ca/LC_MESSAGES/django.po (+10/-8)
django/contrib/flatpages/locale/cs/LC_MESSAGES/django.po (+9/-8)
django/contrib/flatpages/locale/da/LC_MESSAGES/django.po (+10/-10)
django/contrib/flatpages/locale/de/LC_MESSAGES/django.po (+14/-8)
django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.po (+12/-12)
django/contrib/flatpages/locale/en/LC_MESSAGES/django.po (+5/-5)
django/contrib/flatpages/locale/eo/LC_MESSAGES/django.po (+13/-13)
django/contrib/flatpages/locale/es/LC_MESSAGES/django.po (+16/-17)
django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.po (+10/-10)
django/contrib/flatpages/locale/et/LC_MESSAGES/django.po (+13/-9)
django/contrib/flatpages/locale/fa/LC_MESSAGES/django.po (+12/-7)
django/contrib/flatpages/locale/fi/LC_MESSAGES/django.po (+13/-9)
django/contrib/flatpages/locale/fr/LC_MESSAGES/django.po (+8/-8)
django/contrib/flatpages/locale/gd/LC_MESSAGES/django.po (+11/-5)
django/contrib/flatpages/locale/he/LC_MESSAGES/django.po (+12/-13)
django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.po (+6/-6)
django/contrib/flatpages/locale/hu/LC_MESSAGES/django.po (+16/-11)
django/contrib/flatpages/locale/id/LC_MESSAGES/django.po (+11/-12)
django/contrib/flatpages/locale/is/LC_MESSAGES/django.po (+6/-6)
django/contrib/flatpages/locale/it/LC_MESSAGES/django.po (+12/-12)
django/contrib/flatpages/locale/ja/LC_MESSAGES/django.po (+12/-12)
django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po (+8/-7)
django/contrib/flatpages/locale/ky/LC_MESSAGES/django.po (+89/-0)
django/contrib/flatpages/locale/lv/LC_MESSAGES/django.po (+10/-10)
django/contrib/flatpages/locale/ml/LC_MESSAGES/django.po (+9/-9)
django/contrib/flatpages/locale/nb/LC_MESSAGES/django.po (+11/-11)
django/contrib/flatpages/locale/nl/LC_MESSAGES/django.po (+10/-10)
django/contrib/flatpages/locale/pl/LC_MESSAGES/django.po (+10/-10)
django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.po (+14/-11)
django/contrib/flatpages/locale/ru/LC_MESSAGES/django.po (+12/-11)
django/contrib/flatpages/locale/sq/LC_MESSAGES/django.po (+10/-10)
django/contrib/flatpages/locale/sr/LC_MESSAGES/django.po (+10/-10)
django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.po (+12/-11)
django/contrib/flatpages/locale/tg/LC_MESSAGES/django.po (+86/-0)
django/contrib/flatpages/locale/tk/LC_MESSAGES/django.po (+83/-0)
django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po (+12/-11)
django/contrib/flatpages/locale/uk/LC_MESSAGES/django.po (+16/-13)
django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.po (+12/-11)
django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.po (+13/-10)
django/contrib/flatpages/migrations/0001_initial.py (+3/-3)
django/contrib/flatpages/models.py (+11/-4)
django/contrib/flatpages/views.py (+1/-2)
django/contrib/gis/__init__.py (+0/-1)
django/contrib/gis/admin/__init__.py (+2/-2)
django/contrib/gis/apps.py (+1/-0)
django/contrib/gis/db/backends/base/adapter.py (+5/-0)
django/contrib/gis/db/backends/base/features.py (+24/-11)
django/contrib/gis/db/backends/base/operations.py (+4/-7)
django/contrib/gis/db/backends/mysql/features.py (+20/-3)
django/contrib/gis/db/backends/mysql/introspection.py (+2/-2)
django/contrib/gis/db/backends/mysql/operations.py (+29/-21)
django/contrib/gis/db/backends/mysql/schema.py (+7/-7)
django/contrib/gis/db/backends/oracle/adapter.py (+26/-20)
django/contrib/gis/db/backends/oracle/features.py (+3/-0)
django/contrib/gis/db/backends/oracle/introspection.py (+13/-8)
django/contrib/gis/db/backends/oracle/operations.py (+16/-9)
django/contrib/gis/db/backends/oracle/schema.py (+1/-1)
django/contrib/gis/db/backends/postgis/adapter.py (+4/-0)
django/contrib/gis/db/backends/postgis/const.py (+9/-0)
django/contrib/gis/db/backends/postgis/features.py (+2/-1)
django/contrib/gis/db/backends/postgis/introspection.py (+25/-65)
django/contrib/gis/db/backends/postgis/operations.py (+8/-14)
django/contrib/gis/db/backends/postgis/pgraster.py (+14/-17)
django/contrib/gis/db/backends/postgis/schema.py (+18/-11)
django/contrib/gis/db/backends/spatialite/features.py (+11/-0)
django/contrib/gis/db/backends/spatialite/introspection.py (+4/-4)
django/contrib/gis/db/backends/spatialite/operations.py (+20/-30)
django/contrib/gis/db/backends/spatialite/schema.py (+9/-6)
django/contrib/gis/db/models/aggregates.py (+4/-0)
django/contrib/gis/db/models/fields.py (+10/-4)
django/contrib/gis/db/models/functions.py (+45/-29)
django/contrib/gis/db/models/lookups.py (+21/-8)
django/contrib/gis/db/models/proxy.py (+6/-7)
django/contrib/gis/forms/fields.py (+6/-5)
django/contrib/gis/forms/widgets.py (+2/-1)
django/contrib/gis/gdal/__init__.py (+7/-5)
django/contrib/gis/gdal/datasource.py (+6/-5)
django/contrib/gis/gdal/driver.py (+7/-6)
django/contrib/gis/gdal/envelope.py (+1/-1)
django/contrib/gis/gdal/error.py (+1/-1)
django/contrib/gis/gdal/feature.py (+4/-4)
django/contrib/gis/gdal/field.py (+19/-21)
django/contrib/gis/gdal/geometries.py (+11/-19)
django/contrib/gis/gdal/layer.py (+7/-6)
django/contrib/gis/gdal/libgdal.py (+16/-17)
django/contrib/gis/gdal/prototypes/ds.py (+7/-4)
django/contrib/gis/gdal/prototypes/errcheck.py (+1/-2)
django/contrib/gis/gdal/prototypes/generation.py (+12/-1)
django/contrib/gis/gdal/prototypes/raster.py (+4/-4)
django/contrib/gis/gdal/prototypes/srs.py (+6/-3)
django/contrib/gis/gdal/raster/band.py (+2/-2)
django/contrib/gis/gdal/raster/const.py (+2/-2)
django/contrib/gis/gdal/raster/source.py (+46/-8)
django/contrib/gis/gdal/srs.py (+27/-8)
django/contrib/gis/geoip2/base.py (+2/-4)
django/contrib/gis/geoip2/resources.py (+1/-0)
django/contrib/gis/geometry.py (+12/-8)
django/contrib/gis/geos/collections.py (+1/-8)
django/contrib/gis/geos/coordseq.py (+23/-3)
django/contrib/gis/geos/geometry.py (+13/-12)
django/contrib/gis/geos/libgeos.py (+5/-8)
django/contrib/gis/geos/linestring.py (+13/-1)
django/contrib/gis/geos/point.py (+3/-0)
django/contrib/gis/geos/prototypes/__init__.py (+2/-1)
django/contrib/gis/geos/prototypes/coordseq.py (+3/-1)
django/contrib/gis/geos/prototypes/geom.py (+2/-17)
django/contrib/gis/locale/ar/LC_MESSAGES/django.po (+8/-9)
django/contrib/gis/locale/ar_DZ/LC_MESSAGES/django.po (+88/-0)
django/contrib/gis/locale/az/LC_MESSAGES/django.po (+6/-6)
django/contrib/gis/locale/be/LC_MESSAGES/django.po (+8/-8)
django/contrib/gis/locale/bg/LC_MESSAGES/django.po (+9/-9)
django/contrib/gis/locale/ca/LC_MESSAGES/django.po (+9/-8)
django/contrib/gis/locale/cs/LC_MESSAGES/django.po (+6/-6)
django/contrib/gis/locale/da/LC_MESSAGES/django.po (+7/-8)
django/contrib/gis/locale/de/LC_MESSAGES/django.po (+6/-6)
django/contrib/gis/locale/dsb/LC_MESSAGES/django.po (+6/-6)
django/contrib/gis/locale/en/LC_MESSAGES/django.po (+21/-21)
django/contrib/gis/locale/es/LC_MESSAGES/django.po (+10/-8)
django/contrib/gis/locale/es_AR/LC_MESSAGES/django.po (+7/-7)
django/contrib/gis/locale/et/LC_MESSAGES/django.po (+7/-6)
django/contrib/gis/locale/eu/LC_MESSAGES/django.po (+6/-7)
django/contrib/gis/locale/fa/LC_MESSAGES/django.po (+6/-6)
django/contrib/gis/locale/fi/LC_MESSAGES/django.po (+6/-6)
django/contrib/gis/locale/fr/LC_MESSAGES/django.po (+8/-8)
django/contrib/gis/locale/gd/LC_MESSAGES/django.po (+10/-9)
django/contrib/gis/locale/he/LC_MESSAGES/django.po (+8/-8)
django/contrib/gis/locale/hsb/LC_MESSAGES/django.po (+6/-6)
django/contrib/gis/locale/hu/LC_MESSAGES/django.po (+9/-8)
django/contrib/gis/locale/id/LC_MESSAGES/django.po (+7/-6)
django/contrib/gis/locale/is/LC_MESSAGES/django.po (+8/-7)
django/contrib/gis/locale/it/LC_MESSAGES/django.po (+7/-6)
django/contrib/gis/locale/ja/LC_MESSAGES/django.po (+7/-6)
django/contrib/gis/locale/ko/LC_MESSAGES/django.po (+8/-7)
django/contrib/gis/locale/ky/LC_MESSAGES/django.po (+86/-0)
django/contrib/gis/locale/lv/LC_MESSAGES/django.po (+8/-6)
django/contrib/gis/locale/nb/LC_MESSAGES/django.po (+6/-5)
django/contrib/gis/locale/nl/LC_MESSAGES/django.po (+5/-5)
django/contrib/gis/locale/pl/LC_MESSAGES/django.po (+8/-8)
django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.po (+9/-9)
django/contrib/gis/locale/ro/LC_MESSAGES/django.po (+9/-9)
django/contrib/gis/locale/ru/LC_MESSAGES/django.po (+7/-6)
django/contrib/gis/locale/sk/LC_MESSAGES/django.po (+10/-9)
django/contrib/gis/locale/sq/LC_MESSAGES/django.po (+5/-6)
django/contrib/gis/locale/sr/LC_MESSAGES/django.po (+8/-7)
django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.po (+10/-8)
django/contrib/gis/locale/tg/LC_MESSAGES/django.po (+84/-0)
django/contrib/gis/locale/tr/LC_MESSAGES/django.po (+9/-9)
django/contrib/gis/locale/uk/LC_MESSAGES/django.po (+13/-9)
django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po (+8/-7)
django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po (+7/-7)
django/contrib/gis/management/__init__.py (+0/-0)
django/contrib/gis/management/commands/__init__.py (+0/-0)
django/contrib/gis/management/commands/inspectdb.py (+1/-2)
django/contrib/gis/management/commands/ogrinspect.py (+3/-2)
django/contrib/gis/measure.py (+5/-0)
django/contrib/gis/sitemaps/kml.py (+1/-1)
django/contrib/gis/sitemaps/views.py (+1/-1)
django/contrib/gis/static/gis/js/OLMapWidget.js (+32/-35)
django/contrib/gis/templates/gis/admin/openlayers.html (+6/-15)
django/contrib/gis/templates/gis/openlayers.html (+3/-3)
django/contrib/gis/utils/__init__.py (+3/-1)
django/contrib/gis/utils/layermapping.py (+11/-5)
django/contrib/gis/utils/ogrinspect.py (+1/-1)
django/contrib/gis/views.py (+1/-1)
django/contrib/humanize/__init__.py (+0/-1)
django/contrib/humanize/locale/ar/LC_MESSAGES/django.po (+232/-50)
django/contrib/humanize/locale/ar_DZ/LC_MESSAGES/django.po (+555/-0)
django/contrib/humanize/locale/az/LC_MESSAGES/django.po (+65/-66)
django/contrib/humanize/locale/be/LC_MESSAGES/django.po (+203/-46)
django/contrib/humanize/locale/ca/LC_MESSAGES/django.po (+36/-36)
django/contrib/humanize/locale/cs/LC_MESSAGES/django.po (+11/-99)
django/contrib/humanize/locale/en/LC_MESSAGES/django.po (+56/-133)
django/contrib/humanize/locale/es/LC_MESSAGES/django.po (+8/-7)
django/contrib/humanize/locale/et/LC_MESSAGES/django.po (+29/-28)
django/contrib/humanize/locale/fi/LC_MESSAGES/django.po (+175/-109)
django/contrib/humanize/locale/hy/LC_MESSAGES/django.po (+61/-62)
django/contrib/humanize/locale/id/LC_MESSAGES/django.po (+73/-73)
django/contrib/humanize/locale/it/LC_MESSAGES/django.po (+61/-62)
django/contrib/humanize/locale/ja/LC_MESSAGES/django.po (+55/-56)
django/contrib/humanize/locale/ky/LC_MESSAGES/django.po (+353/-0)
django/contrib/humanize/locale/lt/LC_MESSAGES/django.po (+73/-74)
django/contrib/humanize/locale/lv/LC_MESSAGES/django.po (+67/-68)
django/contrib/humanize/locale/ml/LC_MESSAGES/django.po (+8/-7)
django/contrib/humanize/locale/nb/LC_MESSAGES/django.po (+61/-62)
django/contrib/humanize/locale/ne/LC_MESSAGES/django.po (+169/-35)
django/contrib/humanize/locale/pl/LC_MESSAGES/django.po (+74/-75)
django/contrib/humanize/locale/ro/LC_MESSAGES/django.po (+67/-68)
django/contrib/humanize/locale/sr/LC_MESSAGES/django.po (+72/-149)
django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.po (+188/-120)
django/contrib/humanize/locale/sv/LC_MESSAGES/django.po (+7/-72)
django/contrib/humanize/locale/tg/LC_MESSAGES/django.po (+393/-0)
django/contrib/humanize/locale/tr/LC_MESSAGES/django.po (+61/-62)
django/contrib/humanize/locale/uk/LC_MESSAGES/django.po (+75/-76)
django/contrib/humanize/locale/uz/LC_MESSAGES/django.po (+353/-0)
django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.po (+28/-28)
django/contrib/humanize/templatetags/humanize.py (+22/-63)
django/contrib/messages/__init__.py (+0/-2)
django/contrib/messages/storage/base.py (+3/-2)
django/contrib/messages/storage/cookie.py (+54/-17)
django/contrib/messages/storage/session.py (+2/-3)
django/contrib/postgres/__init__.py (+0/-1)
django/contrib/postgres/aggregates/general.py (+11/-2)
django/contrib/postgres/aggregates/mixins.py (+3/-12)
django/contrib/postgres/aggregates/statistics.py (+1/-5)
django/contrib/postgres/apps.py (+5/-2)
django/contrib/postgres/constraints.py (+166/-0)
django/contrib/postgres/fields/array.py (+44/-30)
django/contrib/postgres/fields/hstore.py (+2/-3)
django/contrib/postgres/fields/jsonb.py (+34/-160)
django/contrib/postgres/fields/ranges.py (+93/-47)
django/contrib/postgres/forms/array.py (+30/-10)
django/contrib/postgres/forms/jsonb.py (+11/-57)
django/contrib/postgres/forms/ranges.py (+20/-27)
django/contrib/postgres/indexes.py (+73/-24)
django/contrib/postgres/locale/af/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/ar/LC_MESSAGES/django.po (+9/-18)
django/contrib/postgres/locale/ar_DZ/LC_MESSAGES/django.po (+131/-0)
django/contrib/postgres/locale/az/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/be/LC_MESSAGES/django.po (+7/-17)
django/contrib/postgres/locale/bg/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/ca/LC_MESSAGES/django.po (+6/-15)
django/contrib/postgres/locale/cs/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/da/LC_MESSAGES/django.po (+7/-17)
django/contrib/postgres/locale/de/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/el/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/en/LC_MESSAGES/django.po (+13/-26)
django/contrib/postgres/locale/eo/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/es/LC_MESSAGES/django.po (+7/-16)
django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.po (+7/-17)
django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/et/LC_MESSAGES/django.po (+9/-18)
django/contrib/postgres/locale/eu/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/fa/LC_MESSAGES/django.po (+6/-15)
django/contrib/postgres/locale/fi/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/fr/LC_MESSAGES/django.po (+8/-18)
django/contrib/postgres/locale/gd/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/gl/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/he/LC_MESSAGES/django.po (+5/-14)
django/contrib/postgres/locale/hr/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/hu/LC_MESSAGES/django.po (+7/-16)
django/contrib/postgres/locale/hy/LC_MESSAGES/django.po (+4/-14)
django/contrib/postgres/locale/ia/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/id/LC_MESSAGES/django.po (+16/-25)
django/contrib/postgres/locale/is/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/it/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/ja/LC_MESSAGES/django.po (+6/-15)
django/contrib/postgres/locale/ka/LC_MESSAGES/django.po (+4/-14)
django/contrib/postgres/locale/kk/LC_MESSAGES/django.po (+4/-14)
django/contrib/postgres/locale/ko/LC_MESSAGES/django.po (+6/-15)
django/contrib/postgres/locale/ky/LC_MESSAGES/django.po (+100/-0)
django/contrib/postgres/locale/lt/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/lv/LC_MESSAGES/django.po (+5/-14)
django/contrib/postgres/locale/mk/LC_MESSAGES/django.po (+7/-17)
django/contrib/postgres/locale/ml/LC_MESSAGES/django.po (+98/-0)
django/contrib/postgres/locale/mn/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/nb/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/ne/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/nl/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/pl/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/pt/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/ro/LC_MESSAGES/django.po (+6/-15)
django/contrib/postgres/locale/ru/LC_MESSAGES/django.po (+7/-16)
django/contrib/postgres/locale/sk/LC_MESSAGES/django.po (+5/-14)
django/contrib/postgres/locale/sl/LC_MESSAGES/django.po (+7/-17)
django/contrib/postgres/locale/sq/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/sr/LC_MESSAGES/django.po (+6/-15)
django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.po (+7/-17)
django/contrib/postgres/locale/sv/LC_MESSAGES/django.po (+5/-15)
django/contrib/postgres/locale/tg/LC_MESSAGES/django.po (+101/-0)
django/contrib/postgres/locale/tk/LC_MESSAGES/django.po (+107/-0)
django/contrib/postgres/locale/tr/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/locale/uk/LC_MESSAGES/django.po (+9/-18)
django/contrib/postgres/locale/uz/LC_MESSAGES/django.po (+95/-0)
django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po (+6/-15)
django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.po (+6/-16)
django/contrib/postgres/lookups.py (+20/-24)
django/contrib/postgres/operations.py (+189/-3)
django/contrib/postgres/search.py (+131/-68)
django/contrib/redirects/__init__.py (+0/-1)
django/contrib/redirects/apps.py (+1/-0)
django/contrib/redirects/locale/ar/LC_MESSAGES/django.po (+9/-8)
django/contrib/redirects/locale/ar_DZ/LC_MESSAGES/django.po (+49/-0)
django/contrib/redirects/locale/az/LC_MESSAGES/django.po (+9/-10)
django/contrib/redirects/locale/be/LC_MESSAGES/django.po (+9/-9)
django/contrib/redirects/locale/ca/LC_MESSAGES/django.po (+9/-8)
django/contrib/redirects/locale/cs/LC_MESSAGES/django.po (+11/-10)
django/contrib/redirects/locale/da/LC_MESSAGES/django.po (+12/-11)
django/contrib/redirects/locale/de/LC_MESSAGES/django.po (+9/-9)
django/contrib/redirects/locale/dsb/LC_MESSAGES/django.po (+10/-10)
django/contrib/redirects/locale/en/LC_MESSAGES/django.po (+13/-13)
django/contrib/redirects/locale/es/LC_MESSAGES/django.po (+16/-15)
django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.po (+10/-10)
django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.po (+12/-11)
django/contrib/redirects/locale/et/LC_MESSAGES/django.po (+10/-9)
django/contrib/redirects/locale/eu/LC_MESSAGES/django.po (+11/-10)
django/contrib/redirects/locale/fa/LC_MESSAGES/django.po (+9/-8)
django/contrib/redirects/locale/fi/LC_MESSAGES/django.po (+10/-10)
django/contrib/redirects/locale/fr/LC_MESSAGES/django.po (+11/-11)
django/contrib/redirects/locale/gd/LC_MESSAGES/django.po (+6/-5)
django/contrib/redirects/locale/he/LC_MESSAGES/django.po (+10/-9)
django/contrib/redirects/locale/hsb/LC_MESSAGES/django.po (+10/-10)
django/contrib/redirects/locale/hu/LC_MESSAGES/django.po (+12/-12)
django/contrib/redirects/locale/id/LC_MESSAGES/django.po (+9/-8)
django/contrib/redirects/locale/is/LC_MESSAGES/django.po (+8/-8)
django/contrib/redirects/locale/it/LC_MESSAGES/django.po (+9/-8)
django/contrib/redirects/locale/ja/LC_MESSAGES/django.po (+9/-8)
django/contrib/redirects/locale/ko/LC_MESSAGES/django.po (+12/-8)
django/contrib/redirects/locale/ky/LC_MESSAGES/django.po (+50/-0)
django/contrib/redirects/locale/lv/LC_MESSAGES/django.po (+12/-11)
django/contrib/redirects/locale/nb/LC_MESSAGES/django.po (+14/-13)
django/contrib/redirects/locale/nl/LC_MESSAGES/django.po (+9/-9)
django/contrib/redirects/locale/pl/LC_MESSAGES/django.po (+13/-12)
django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po (+14/-11)
django/contrib/redirects/locale/ro/LC_MESSAGES/django.po (+12/-11)
django/contrib/redirects/locale/ru/LC_MESSAGES/django.po (+12/-12)
django/contrib/redirects/locale/sq/LC_MESSAGES/django.po (+13/-12)
django/contrib/redirects/locale/sr/LC_MESSAGES/django.po (+12/-11)
django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.po (+11/-11)
django/contrib/redirects/locale/tg/LC_MESSAGES/django.po (+45/-0)
django/contrib/redirects/locale/tk/LC_MESSAGES/django.po (+49/-0)
django/contrib/redirects/locale/tr/LC_MESSAGES/django.po (+11/-11)
django/contrib/redirects/locale/uk/LC_MESSAGES/django.po (+15/-13)
django/contrib/redirects/locale/uz/LC_MESSAGES/django.po (+9/-6)
django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po (+15/-11)
django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po (+8/-8)
django/contrib/redirects/migrations/0001_initial.py (+3/-3)
django/contrib/redirects/migrations/0002_alter_redirect_new_path_help_text.py (+24/-0)
django/contrib/redirects/models.py (+7/-4)
django/contrib/sessions/__init__.py (+0/-1)
django/contrib/sessions/backends/base.py (+51/-4)
django/contrib/sessions/backends/file.py (+5/-5)
django/contrib/sessions/backends/signed_cookies.py (+1/-2)
django/contrib/sessions/exceptions.py (+6/-1)
django/contrib/sessions/locale/ar_DZ/LC_MESSAGES/django.po (+37/-0)
django/contrib/sessions/locale/cs/LC_MESSAGES/django.po (+2/-1)
django/contrib/sessions/locale/ky/LC_MESSAGES/django.po (+35/-0)
django/contrib/sessions/locale/tg/LC_MESSAGES/django.po (+35/-0)
django/contrib/sessions/locale/tk/LC_MESSAGES/django.po (+36/-0)
django/contrib/sessions/management/__init__.py (+0/-0)
django/contrib/sessions/management/commands/__init__.py (+0/-0)
django/contrib/sessions/management/commands/clearsessions.py (+5/-3)
django/contrib/sessions/middleware.py (+47/-3)
django/contrib/sitemaps/__init__.py (+89/-36)
django/contrib/sitemaps/apps.py (+1/-0)
django/contrib/sitemaps/management/__init__.py (+0/-0)
django/contrib/sitemaps/management/commands/__init__.py (+0/-0)
django/contrib/sitemaps/templates/sitemap.xml (+5/-2)
django/contrib/sitemaps/views.py (+2/-2)
django/contrib/sites/__init__.py (+0/-1)
django/contrib/sites/apps.py (+4/-0)
django/contrib/sites/checks.py (+13/-0)
django/contrib/sites/locale/ar_DZ/LC_MESSAGES/django.po (+37/-0)
django/contrib/sites/locale/cs/LC_MESSAGES/django.po (+2/-1)
django/contrib/sites/locale/ky/LC_MESSAGES/django.po (+34/-0)
django/contrib/sites/locale/ne/LC_MESSAGES/django.po (+5/-4)
django/contrib/sites/locale/tg/LC_MESSAGES/django.po (+35/-0)
django/contrib/sites/locale/tk/LC_MESSAGES/django.po (+36/-0)
django/contrib/sites/migrations/0001_initial.py (+1/-1)
django/contrib/sites/models.py (+1/-1)
django/contrib/staticfiles/__init__.py (+0/-1)
django/contrib/staticfiles/apps.py (+1/-1)
django/contrib/staticfiles/finders.py (+7/-9)
django/contrib/staticfiles/handlers.py (+45/-15)
django/contrib/staticfiles/management/__init__.py (+0/-0)
django/contrib/staticfiles/management/commands/__init__.py (+0/-0)
django/contrib/staticfiles/management/commands/collectstatic.py (+13/-17)
django/contrib/staticfiles/management/commands/findstatic.py (+1/-1)
django/contrib/staticfiles/storage.py (+18/-78)
django/contrib/staticfiles/utils.py (+2/-2)
django/contrib/staticfiles/views.py (+1/-1)
django/contrib/syndication/__init__.py (+0/-1)
django/contrib/syndication/views.py (+5/-3)
django/core/asgi.py (+13/-0)
django/core/cache/__init__.py (+24/-82)
django/core/cache/backends/base.py (+19/-19)
django/core/cache/backends/db.py (+12/-14)
django/core/cache/backends/dummy.py (+1/-0)
django/core/cache/backends/filebased.py (+18/-10)
django/core/cache/backends/locmem.py (+4/-2)
django/core/cache/backends/memcached.py (+84/-29)
django/core/cache/utils.py (+6/-6)
django/core/checks/__init__.py (+1/-0)
django/core/checks/async_checks.py (+16/-0)
django/core/checks/caches.py (+58/-2)
django/core/checks/database.py (+5/-2)
django/core/checks/model_checks.py (+34/-4)
django/core/checks/registry.py (+11/-7)
django/core/checks/security/base.py (+71/-34)
django/core/checks/security/csrf.py (+28/-1)
django/core/checks/translation.py (+51/-6)
django/core/exceptions.py (+34/-0)
django/core/files/locks.py (+11/-6)
django/core/files/move.py (+2/-2)
django/core/files/storage.py (+29/-6)
django/core/files/temp.py (+1/-1)
django/core/files/uploadhandler.py (+18/-2)
django/core/handlers/asgi.py (+287/-0)
django/core/handlers/base.py (+227/-43)
django/core/handlers/exception.py (+37/-13)
django/core/handlers/wsgi.py (+9/-13)
django/core/mail/__init__.py (+5/-0)
django/core/mail/backends/filebased.py (+7/-13)
django/core/mail/backends/smtp.py (+1/-2)
django/core/mail/message.py (+50/-28)
django/core/mail/utils.py (+3/-1)
django/core/management/__init__.py (+49/-11)
django/core/management/base.py (+55/-22)
django/core/management/color.py (+37/-3)
django/core/management/commands/__init__.py (+0/-0)
django/core/management/commands/check.py (+6/-1)
django/core/management/commands/compilemessages.py (+35/-12)
django/core/management/commands/createcachetable.py (+2/-3)
django/core/management/commands/dbshell.py (+19/-7)
django/core/management/commands/diffsettings.py (+2/-2)
django/core/management/commands/dumpdata.py (+60/-9)
django/core/management/commands/flush.py (+5/-5)
django/core/management/commands/inspectdb.py (+17/-18)
django/core/management/commands/loaddata.py (+15/-8)
django/core/management/commands/makemessages.py (+29/-46)
django/core/management/commands/makemigrations.py (+33/-19)
django/core/management/commands/migrate.py (+38/-26)
django/core/management/commands/runserver.py (+5/-8)
django/core/management/commands/shell.py (+4/-3)
django/core/management/commands/showmigrations.py (+11/-3)
django/core/management/commands/sqlflush.py (+4/-1)
django/core/management/commands/sqlmigrate.py (+14/-11)
django/core/management/commands/sqlsequencereset.py (+2/-0)
django/core/management/commands/squashmigrations.py (+13/-9)
django/core/management/commands/startproject.py (+2/-1)
django/core/management/commands/test.py (+6/-4)
django/core/management/commands/testserver.py (+1/-1)
django/core/management/sql.py (+8/-11)
django/core/management/templates.py (+57/-51)
django/core/management/utils.py (+35/-6)
django/core/paginator.py (+39/-9)
django/core/serializers/__init__.py (+18/-7)
django/core/serializers/base.py (+10/-6)
django/core/serializers/json.py (+1/-0)
django/core/serializers/jsonl.py (+57/-0)
django/core/serializers/python.py (+7/-6)
django/core/serializers/pyyaml.py (+6/-3)
django/core/serializers/xml_serializer.py (+15/-3)
django/core/servers/basehttp.py (+10/-3)
django/core/signals.py (+3/-3)
django/core/signing.py (+64/-36)
django/core/validators.py (+87/-48)
django/db/__init__.py (+2/-21)
django/db/backends/base/base.py (+47/-30)
django/db/backends/base/client.py (+15/-2)
django/db/backends/base/creation.py (+84/-38)
django/db/backends/base/features.py (+99/-45)
django/db/backends/base/introspection.py (+57/-34)
django/db/backends/base/operations.py (+60/-40)
django/db/backends/base/schema.py (+355/-146)
django/db/backends/ddl_references.py (+44/-2)
django/db/backends/mysql/base.py (+93/-31)
django/db/backends/mysql/client.py (+26/-14)
django/db/backends/mysql/compiler.py (+48/-2)
django/db/backends/mysql/creation.py (+9/-8)
django/db/backends/mysql/features.py (+157/-35)
django/db/backends/mysql/introspection.py (+112/-6)
django/db/backends/mysql/operations.py (+116/-42)
django/db/backends/mysql/schema.py (+62/-6)
django/db/backends/mysql/validation.py (+25/-16)
django/db/backends/oracle/base.py (+44/-31)
django/db/backends/oracle/client.py (+16/-6)
django/db/backends/oracle/creation.py (+2/-2)
django/db/backends/oracle/features.py (+62/-10)
django/db/backends/oracle/introspection.py (+87/-28)
django/db/backends/oracle/operations.py (+157/-102)
django/db/backends/oracle/schema.py (+29/-2)
django/db/backends/oracle/utils.py (+39/-4)
django/db/backends/postgresql/base.py (+86/-26)
django/db/backends/postgresql/client.py (+29/-46)
django/db/backends/postgresql/creation.py (+2/-2)
django/db/backends/postgresql/features.py (+48/-16)
django/db/backends/postgresql/introspection.py (+30/-29)
django/db/backends/postgresql/operations.py (+49/-58)
django/db/backends/postgresql/schema.py (+111/-14)
django/db/backends/signals.py (+1/-1)
django/db/backends/sqlite3/base.py (+127/-71)
django/db/backends/sqlite3/client.py (+10/-6)
django/db/backends/sqlite3/creation.py (+6/-1)
django/db/backends/sqlite3/features.py (+79/-10)
django/db/backends/sqlite3/introspection.py (+71/-35)
django/db/backends/sqlite3/operations.py (+63/-32)
django/db/backends/sqlite3/schema.py (+30/-7)
django/db/backends/utils.py (+28/-31)
django/db/migrations/autodetector.py (+58/-62)
django/db/migrations/exceptions.py (+1/-1)
django/db/migrations/executor.py (+32/-35)
django/db/migrations/loader.py (+61/-32)
django/db/migrations/migration.py (+20/-0)
django/db/migrations/operations/base.py (+13/-14)
django/db/migrations/operations/fields.py (+79/-82)
django/db/migrations/operations/models.py (+96/-57)
django/db/migrations/operations/utils.py (+93/-44)
django/db/migrations/optimizer.py (+5/-6)
django/db/migrations/questioner.py (+1/-1)
django/db/migrations/recorder.py (+11/-7)
django/db/migrations/serializer.py (+48/-24)
django/db/migrations/state.py (+18/-26)
django/db/migrations/writer.py (+2/-2)
django/db/models/__init__.py (+19/-15)
django/db/models/aggregates.py (+3/-1)
django/db/models/base.py (+411/-98)
django/db/models/constraints.py (+93/-19)
django/db/models/deletion.py (+171/-53)
django/db/models/enums.py (+82/-0)
django/db/models/expressions.py (+302/-226)
django/db/models/fields/__init__.py (+370/-166)
django/db/models/fields/files.py (+45/-28)
django/db/models/fields/json.py (+537/-0)
django/db/models/fields/mixins.py (+30/-0)
django/db/models/fields/related.py (+112/-65)
django/db/models/fields/related_descriptors.py (+137/-69)
django/db/models/fields/related_lookups.py (+5/-3)
django/db/models/fields/reverse_related.py (+42/-2)
django/db/models/functions/__init__.py (+23/-19)
django/db/models/functions/comparison.py (+73/-6)
django/db/models/functions/datetime.py (+33/-9)
django/db/models/functions/math.py (+24/-4)
django/db/models/functions/mixins.py (+3/-1)
django/db/models/functions/text.py (+72/-16)
django/db/models/indexes.py (+179/-33)
django/db/models/lookups.py (+164/-65)
django/db/models/manager.py (+9/-7)
django/db/models/options.py (+85/-18)
django/db/models/query.py (+275/-158)
django/db/models/query_utils.py (+60/-50)
django/db/models/signals.py (+10/-14)
django/db/models/sql/__init__.py (+1/-2)
django/db/models/sql/compiler.py (+211/-119)
django/db/models/sql/constants.py (+2/-3)
django/db/models/sql/datastructures.py (+31/-14)
django/db/models/sql/query.py (+422/-190)
django/db/models/sql/subqueries.py (+7/-39)
django/db/models/sql/where.py (+21/-1)
django/db/models/utils.py (+31/-0)
django/db/transaction.py (+18/-12)
django/db/utils.py (+45/-56)
django/dispatch/dispatcher.py (+20/-9)
django/forms/boundfield.py (+9/-1)
django/forms/fields.py (+90/-10)
django/forms/forms.py (+16/-25)
django/forms/formsets.py (+92/-45)
django/forms/jinja2/django/forms/widgets/clearable_file_input.html (+1/-1)
django/forms/models.py (+85/-36)
django/forms/renderers.py (+5/-8)
django/forms/templates/django/forms/widgets/clearable_file_input.html (+1/-1)
django/forms/utils.py (+12/-2)
django/forms/widgets.py (+50/-38)
django/http/multipartparser.py (+32/-13)
django/http/request.py (+114/-22)
django/http/response.py (+130/-79)
django/middleware/cache.py (+30/-21)
django/middleware/clickjacking.py (+6/-4)
django/middleware/common.py (+11/-10)
django/middleware/csrf.py (+27/-25)
django/middleware/gzip.py (+6/-7)
django/middleware/locale.py (+2/-2)
django/middleware/security.py (+15/-4)
django/shortcuts.py (+3/-21)
django/template/__init__.py (+5/-2)
django/template/autoreload.py (+53/-0)
django/template/backends/django.py (+2/-2)
django/template/backends/dummy.py (+1/-2)
django/template/backends/jinja2.py (+24/-7)
django/template/backends/utils.py (+2/-2)
django/template/base.py (+22/-21)
django/template/context.py (+4/-6)
django/template/context_processors.py (+1/-0)
django/template/defaultfilters.py (+27/-12)
django/template/defaulttags.py (+21/-8)
django/template/engine.py (+3/-3)
django/template/library.py (+4/-4)
django/template/loader_tags.py (+18/-6)
django/template/loaders/base.py (+1/-1)
django/template/loaders/cached.py (+7/-5)
django/template/response.py (+5/-6)
django/template/utils.py (+3/-3)
django/templatetags/i18n.py (+34/-22)
django/test/__init__.py (+8/-5)
django/test/client.py (+357/-155)
django/test/html.py (+56/-43)
django/test/runner.py (+113/-15)
django/test/selenium.py (+20/-3)
django/test/signals.py (+11/-7)
django/test/testcases.py (+162/-75)
django/test/utils.py (+89/-68)
django/urls/base.py (+16/-20)
django/urls/resolvers.py (+53/-32)
django/utils/_os.py (+10/-16)
django/utils/archive.py (+21/-16)
django/utils/asyncio.py (+41/-0)
django/utils/autoreload.py (+80/-40)
django/utils/cache.py (+62/-35)
django/utils/connection.py (+76/-0)
django/utils/crypto.py (+42/-39)
django/utils/datastructures.py (+10/-16)
django/utils/dateformat.py (+38/-65)
django/utils/dateparse.py (+18/-15)
django/utils/datetime_safe.py (+5/-4)
django/utils/decorators.py (+26/-23)
django/utils/deprecation.py (+53/-3)
django/utils/encoding.py (+27/-23)
django/utils/formats.py (+2/-0)
django/utils/functional.py (+26/-36)
django/utils/hashable.py (+6/-1)
django/utils/html.py (+20/-32)
django/utils/http.py (+113/-65)
django/utils/inspect.py (+26/-10)
django/utils/jslex.py (+2/-2)
django/utils/log.py (+5/-3)
django/utils/module_loading.py (+4/-5)
django/utils/numberformat.py (+11/-0)
django/utils/regex_helper.py (+18/-0)
django/utils/safestring.py (+5/-26)
django/utils/termcolors.py (+1/-1)
django/utils/text.py (+31/-19)
django/utils/timesince.py (+24/-14)
django/utils/timezone.py (+30/-41)
django/utils/translation/__init__.py (+70/-11)
django/utils/translation/reloader.py (+10/-3)
django/utils/translation/template.py (+18/-18)
django/utils/translation/trans_real.py (+14/-18)
django/utils/tree.py (+1/-1)
django/utils/version.py (+17/-9)
django/utils/xmlutils.py (+1/-2)
django/views/csrf.py (+20/-20)
django/views/debug.py (+148/-108)
django/views/decorators/cache.py (+1/-1)
django/views/decorators/common.py (+14/-0)
django/views/decorators/debug.py (+13/-0)
django/views/decorators/http.py (+2/-2)
django/views/defaults.py (+29/-6)
django/views/generic/base.py (+8/-7)
django/views/generic/dates.py (+12/-7)
django/views/generic/list.py (+3/-3)
django/views/i18n.py (+49/-36)
django/views/static.py (+8/-8)
django/views/templates/default_urlconf.html (+106/-266)
django/views/templates/technical_404.html (+8/-5)
django/views/templates/technical_500.html (+15/-11)
django/views/templates/technical_500.txt (+5/-6)
docs/README.rst (+6/-5)
docs/_ext/djangodocs.py (+14/-1)
docs/_theme/djangodocs/layout.html (+2/-2)
docs/_theme/djangodocs/static/djangodocs.css (+5/-3)
docs/conf.py (+14/-8)
docs/faq/admin.txt (+13/-9)
docs/faq/contributing.txt (+17/-9)
docs/faq/general.txt (+11/-12)
docs/faq/help.txt (+56/-13)
docs/faq/install.txt (+25/-17)
docs/faq/models.txt (+4/-4)
docs/faq/troubleshooting.txt (+7/-1)
docs/faq/usage.txt (+9/-9)
docs/howto/auth-remote-user.txt (+3/-3)
docs/howto/custom-file-storage.txt (+10/-4)
docs/howto/custom-lookups.txt (+37/-29)
docs/howto/custom-management-commands.txt (+23/-17)
docs/howto/custom-model-fields.txt (+36/-35)
docs/howto/custom-template-backend.txt (+173/-0)
docs/howto/custom-template-tags.txt (+26/-27)
docs/howto/deployment/asgi/daphne.txt (+33/-0)
docs/howto/deployment/asgi/hypercorn.txt (+36/-0)
docs/howto/deployment/asgi/index.txt (+72/-0)
docs/howto/deployment/asgi/uvicorn.txt (+35/-0)
docs/howto/deployment/checklist.txt (+9/-13)
docs/howto/deployment/index.txt (+33/-5)
docs/howto/deployment/wsgi/gunicorn.txt (+5/-6)
docs/howto/deployment/wsgi/index.txt (+5/-5)
docs/howto/deployment/wsgi/modwsgi.txt (+8/-15)
docs/howto/deployment/wsgi/uwsgi.txt (+6/-6)
docs/howto/error-reporting.txt (+120/-22)
docs/howto/index.txt (+1/-1)
docs/howto/initial-data.txt (+3/-3)
docs/howto/legacy-databases.txt (+1/-1)
docs/howto/outputting-csv.txt (+21/-17)
docs/howto/outputting-pdf.txt (+5/-5)
docs/howto/overriding-templates.txt (+43/-3)
docs/howto/static-files/deployment.txt (+19/-18)
docs/howto/static-files/index.txt (+7/-4)
docs/howto/upgrade-version.txt (+10/-9)
docs/howto/windows.txt (+76/-41)
docs/howto/writing-migrations.txt (+86/-0)
docs/index.txt (+35/-31)
docs/internals/contributing/bugs-and-features.txt (+17/-15)
docs/internals/contributing/committing-code.txt (+26/-25)
docs/internals/contributing/index.txt (+62/-31)
docs/internals/contributing/localizing.txt (+11/-6)
docs/internals/contributing/new-contributors.txt (+24/-20)
docs/internals/contributing/triaging-tickets.txt (+15/-14)
docs/internals/contributing/writing-code/coding-style.txt (+67/-5)
docs/internals/contributing/writing-code/index.txt (+30/-3)
docs/internals/contributing/writing-code/javascript.txt (+9/-37)
docs/internals/contributing/writing-code/submitting-patches.txt (+15/-15)
docs/internals/contributing/writing-code/unit-tests.txt (+136/-51)
docs/internals/contributing/writing-code/working-with-git.txt (+10/-10)
docs/internals/contributing/writing-documentation.txt (+35/-21)
docs/internals/deprecation.txt (+119/-3)
docs/internals/git.txt (+14/-10)
docs/internals/howto-release-django.txt (+79/-27)
docs/internals/mailing-lists.txt (+4/-37)
docs/internals/organization.txt (+233/-123)
docs/internals/release-process.txt (+16/-12)
docs/internals/security.txt (+16/-5)
docs/intro/contributing.txt (+36/-25)
docs/intro/index.txt (+1/-1)
docs/intro/install.txt (+6/-6)
docs/intro/overview.txt (+15/-18)
docs/intro/reusable-apps.txt (+28/-17)
docs/intro/tutorial01.txt (+16/-8)
docs/intro/tutorial02.txt (+47/-47)
docs/intro/tutorial03.txt (+24/-17)
docs/intro/tutorial04.txt (+28/-23)
docs/intro/tutorial05.txt (+29/-24)
docs/intro/tutorial06.txt (+17/-13)
docs/intro/tutorial07.txt (+28/-21)
docs/intro/whatsnext.txt (+18/-15)
docs/make.bat (+10/-0)
docs/man/django-admin.1 (+308/-64)
docs/ref/applications.txt (+88/-53)
docs/ref/checks.txt (+174/-60)
docs/ref/class-based-views/base.txt (+9/-10)
docs/ref/class-based-views/flattened-index.txt (+6/-1)
docs/ref/class-based-views/generic-date-based.txt (+7/-1)
docs/ref/class-based-views/generic-display.txt (+23/-3)
docs/ref/class-based-views/generic-editing.txt (+81/-9)
docs/ref/class-based-views/mixins-date-based.txt (+7/-2)
docs/ref/class-based-views/mixins-editing.txt (+2/-2)
docs/ref/class-based-views/mixins-multiple-object.txt (+2/-3)
docs/ref/class-based-views/mixins-simple.txt (+4/-4)
docs/ref/class-based-views/mixins-single-object.txt (+3/-3)
docs/ref/clickjacking.txt (+7/-7)
docs/ref/contrib/admin/actions.txt (+110/-55)
docs/ref/contrib/admin/admindocs.txt (+1/-5)
docs/ref/contrib/admin/index.txt (+330/-150)
docs/ref/contrib/admin/javascript.txt (+5/-5)
docs/ref/contrib/auth.txt (+73/-27)
docs/ref/contrib/contenttypes.txt (+39/-5)
docs/ref/contrib/flatpages.txt (+15/-15)
docs/ref/contrib/gis/db-api.txt (+93/-57)
docs/ref/contrib/gis/forms-api.txt (+1/-1)
docs/ref/contrib/gis/functions.txt (+94/-53)
docs/ref/contrib/gis/gdal.txt (+37/-26)
docs/ref/contrib/gis/geoip2.txt (+7/-6)
docs/ref/contrib/gis/geoquerysets.txt (+102/-52)
docs/ref/contrib/gis/geos.txt (+18/-17)
docs/ref/contrib/gis/install/geolibs.txt (+33/-27)
docs/ref/contrib/gis/install/index.txt (+78/-74)
docs/ref/contrib/gis/install/postgis.txt (+6/-1)
docs/ref/contrib/gis/install/spatialite.txt (+4/-4)
docs/ref/contrib/gis/layermapping.txt (+11/-7)
docs/ref/contrib/gis/measure.txt (+3/-2)
docs/ref/contrib/gis/model-api.txt (+4/-4)
docs/ref/contrib/gis/serializers.txt (+1/-1)
docs/ref/contrib/gis/sitemaps.txt (+1/-1)
docs/ref/contrib/gis/testing.txt (+2/-2)
docs/ref/contrib/gis/tutorial.txt (+38/-37)
docs/ref/contrib/humanize.txt (+9/-1)
docs/ref/contrib/index.txt (+1/-1)
docs/ref/contrib/messages.txt (+10/-7)
docs/ref/contrib/postgres/aggregates.txt (+48/-6)
docs/ref/contrib/postgres/constraints.txt (+218/-0)
docs/ref/contrib/postgres/fields.txt (+157/-126)
docs/ref/contrib/postgres/forms.txt (+8/-20)
docs/ref/contrib/postgres/functions.txt (+2/-2)
docs/ref/contrib/postgres/index.txt (+1/-0)
docs/ref/contrib/postgres/indexes.txt (+88/-16)
docs/ref/contrib/postgres/operations.txt (+102/-8)
docs/ref/contrib/postgres/search.txt (+99/-10)
docs/ref/contrib/redirects.txt (+20/-2)
docs/ref/contrib/sitemaps.txt (+74/-20)
docs/ref/contrib/sites.txt (+17/-19)
docs/ref/contrib/staticfiles.txt (+5/-43)
docs/ref/contrib/syndication.txt (+48/-24)
docs/ref/csrf.txt (+30/-40)
docs/ref/databases.txt (+159/-34)
docs/ref/django-admin.txt (+242/-65)
docs/ref/exceptions.txt (+78/-12)
docs/ref/files/file.txt (+3/-3)
docs/ref/files/storage.txt (+14/-4)
docs/ref/files/uploads.txt (+18/-17)
docs/ref/forms/api.txt (+85/-21)
docs/ref/forms/fields.txt (+292/-73)
docs/ref/forms/formsets.txt (+5/-1)
docs/ref/forms/models.txt (+13/-4)
docs/ref/forms/validation.txt (+35/-32)
docs/ref/forms/widgets.txt (+83/-56)
docs/ref/index.txt (+1/-0)
docs/ref/middleware.txt (+115/-2)
docs/ref/migration-operations.txt (+78/-56)
docs/ref/models/class.txt (+28/-0)
docs/ref/models/conditional-expressions.txt (+44/-10)
docs/ref/models/constraints.txt (+92/-9)
docs/ref/models/database-functions.txt (+192/-58)
docs/ref/models/expressions.txt (+93/-68)
docs/ref/models/fields.txt (+399/-55)
docs/ref/models/indexes.txt (+90/-14)
docs/ref/models/instances.txt (+62/-32)
docs/ref/models/lookups.txt (+9/-8)
docs/ref/models/meta.txt (+2/-2)
docs/ref/models/options.txt (+7/-16)
docs/ref/models/querysets.txt (+403/-160)
docs/ref/models/relations.txt (+19/-14)
docs/ref/paginator.txt (+228/-0)
docs/ref/request-response.txt (+153/-58)
docs/ref/schema-editor.txt (+8/-14)
docs/ref/settings.txt (+332/-104)
docs/ref/signals.txt (+4/-4)
docs/ref/template-response.txt (+22/-8)
docs/ref/templates/api.txt (+29/-21)
docs/ref/templates/builtins.txt (+54/-24)
docs/ref/templates/language.txt (+28/-25)
docs/ref/unicode.txt (+17/-20)
docs/ref/urlresolvers.txt (+7/-2)
docs/ref/urls.txt (+5/-2)
docs/ref/utils.txt (+126/-116)
docs/ref/validators.txt (+39/-38)
docs/ref/views.txt (+6/-6)
docs/releases/0.95.txt (+1/-1)
docs/releases/0.96.txt (+1/-3)
docs/releases/1.0-porting-guide.txt (+4/-4)
docs/releases/1.0.txt (+2/-2)
docs/releases/1.1.3.txt (+1/-1)
docs/releases/1.1.txt (+2/-3)
docs/releases/1.10.txt (+3/-3)
docs/releases/1.11.1.txt (+1/-1)
docs/releases/1.11.txt (+11/-9)
docs/releases/1.2.3.txt (+3/-5)
docs/releases/1.2.4.txt (+1/-1)
docs/releases/1.2.5.txt (+6/-6)
docs/releases/1.2.txt (+15/-16)
docs/releases/1.3.6.txt (+1/-1)
docs/releases/1.3.txt (+13/-16)
docs/releases/1.4.13.txt (+2/-2)
docs/releases/1.4.18.txt (+1/-1)
docs/releases/1.4.4.txt (+1/-1)
docs/releases/1.4.txt (+25/-25)
docs/releases/1.5.2.txt (+1/-1)
docs/releases/1.5.3.txt (+1/-1)
docs/releases/1.5.8.txt (+2/-2)
docs/releases/1.5.txt (+12/-12)
docs/releases/1.6.1.txt (+1/-1)
docs/releases/1.6.10.txt (+1/-1)
docs/releases/1.6.5.txt (+2/-2)
docs/releases/1.6.6.txt (+1/-1)
docs/releases/1.6.txt (+7/-7)
docs/releases/1.7.1.txt (+2/-2)
docs/releases/1.7.2.txt (+1/-1)
docs/releases/1.7.3.txt (+1/-1)
docs/releases/1.7.txt (+8/-5)
docs/releases/1.8.1.txt (+2/-2)
docs/releases/1.8.3.txt (+1/-1)
docs/releases/1.8.6.txt (+1/-1)
docs/releases/1.8.8.txt (+1/-1)
docs/releases/1.8.txt (+13/-15)
docs/releases/1.9.txt (+10/-11)
docs/releases/2.0.4.txt (+2/-2)
docs/releases/2.0.txt (+2/-2)
docs/releases/2.1.15.txt (+4/-0)
docs/releases/2.1.txt (+1/-1)
docs/releases/2.2.1.txt (+2/-1)
docs/releases/2.2.5.txt (+0/-3)
docs/releases/2.2.8.txt (+8/-0)
docs/releases/2.2.txt (+3/-3)
docs/releases/3.0.1.txt (+45/-0)
docs/releases/3.0.10.txt (+36/-0)
docs/releases/3.0.11.txt (+14/-0)
docs/releases/3.0.12.txt (+15/-0)
docs/releases/3.0.13.txt (+16/-0)
docs/releases/3.0.14.txt (+15/-0)
docs/releases/3.0.2.txt (+24/-0)
docs/releases/3.0.3.txt (+47/-0)
docs/releases/3.0.4.txt (+38/-0)
docs/releases/3.0.5.txt (+17/-0)
docs/releases/3.0.6.txt (+14/-0)
docs/releases/3.0.7.txt (+50/-0)
docs/releases/3.0.8.txt (+26/-0)
docs/releases/3.0.9.txt (+16/-0)
docs/releases/3.0.txt (+660/-0)
docs/releases/3.1.1.txt (+88/-0)
docs/releases/3.1.10.txt (+22/-0)
docs/releases/3.1.11.txt (+15/-0)
docs/releases/3.1.12.txt (+32/-0)
docs/releases/3.1.13.txt (+21/-0)
docs/releases/3.1.2.txt (+31/-0)
docs/releases/3.1.3.txt (+62/-0)
docs/releases/3.1.4.txt (+34/-0)
docs/releases/3.1.5.txt (+24/-0)
docs/releases/3.1.6.txt (+21/-0)
docs/releases/3.1.7.txt (+23/-0)
docs/releases/3.1.8.txt (+22/-0)
docs/releases/3.1.9.txt (+16/-0)
docs/releases/3.1.txt (+859/-0)
docs/releases/3.2.1.txt (+83/-0)
docs/releases/3.2.2.txt (+29/-0)
docs/releases/3.2.3.txt (+20/-0)
docs/releases/3.2.4.txt (+58/-0)
docs/releases/3.2.5.txt (+40/-0)
docs/releases/3.2.6.txt (+18/-0)
docs/releases/3.2.7.txt (+13/-0)
docs/releases/3.2.8.txt (+17/-0)
docs/releases/3.2.9.txt (+13/-0)
docs/releases/3.2.txt (+790/-0)
docs/releases/index.txt (+57/-0)
docs/releases/security.txt (+726/-505)
docs/spelling_wordlist (+25/-12)
docs/topics/async.txt (+286/-0)
docs/topics/auth/customizing.txt (+61/-46)
docs/topics/auth/default.txt (+38/-42)
docs/topics/auth/passwords.txt (+55/-42)
docs/topics/cache.txt (+143/-92)
docs/topics/checks.txt (+11/-3)
docs/topics/class-based-views/generic-display.txt (+53/-56)
docs/topics/class-based-views/generic-editing.txt (+28/-26)
docs/topics/class-based-views/index.txt (+29/-30)
docs/topics/class-based-views/intro.txt (+21/-21)
docs/topics/class-based-views/mixins.txt (+54/-58)
docs/topics/conditional-view-processing.txt (+19/-25)
docs/topics/db/aggregation.txt (+22/-36)
docs/topics/db/examples/many_to_one.txt (+1/-1)
docs/topics/db/examples/one_to_one.txt (+5/-5)
docs/topics/db/index.txt (+3/-3)
docs/topics/db/instrumentation.txt (+2/-2)
docs/topics/db/managers.txt (+33/-45)
docs/topics/db/models.txt (+69/-24)
docs/topics/db/multi-db.txt (+17/-13)
docs/topics/db/optimization.txt (+28/-38)
docs/topics/db/queries.txt (+321/-31)
docs/topics/db/search.txt (+8/-8)
docs/topics/db/sql.txt (+16/-11)
docs/topics/db/tablespaces.txt (+1/-1)
docs/topics/db/transactions.txt (+46/-22)
docs/topics/email.txt (+33/-25)
docs/topics/external-packages.txt (+1/-1)
docs/topics/files.txt (+37/-3)
docs/topics/forms/formsets.txt (+148/-31)
docs/topics/forms/index.txt (+13/-15)
docs/topics/forms/media.txt (+30/-31)
docs/topics/forms/modelforms.txt (+32/-26)
docs/topics/http/decorators.txt (+17/-2)
docs/topics/http/file-uploads.txt (+13/-14)
docs/topics/http/middleware.txt (+89/-4)
docs/topics/http/sessions.txt (+18/-13)
docs/topics/http/shortcuts.txt (+2/-13)
docs/topics/http/urls.txt (+27/-17)
docs/topics/http/views.txt (+33/-7)
docs/topics/i18n/formatting.txt (+8/-5)
docs/topics/i18n/index.txt (+7/-6)
docs/topics/i18n/timezones.txt (+31/-23)
docs/topics/i18n/translation.txt (+183/-167)
docs/topics/index.txt (+1/-0)
docs/topics/install.txt (+28/-37)
docs/topics/logging.txt (+109/-55)
docs/topics/migrations.txt (+91/-37)
docs/topics/pagination.txt (+49/-207)
docs/topics/performance.txt (+11/-9)
docs/topics/security.txt (+18/-6)
docs/topics/serialization.txt (+41/-12)
docs/topics/settings.txt (+22/-23)
docs/topics/signals.txt (+14/-17)
docs/topics/signing.txt (+88/-15)
docs/topics/templates.txt (+186/-8)
docs/topics/testing/advanced.txt (+105/-13)
docs/topics/testing/index.txt (+1/-3)
docs/topics/testing/tools.txt (+221/-136)
extras/django_bash_completion (+8/-10)
js_tests/admin/DateTimeShortcuts.test.js (+8/-9)
js_tests/admin/SelectBox.test.js (+26/-3)
js_tests/admin/SelectFilter2.test.js (+2/-2)
js_tests/admin/URLify.test.js (+3/-5)
js_tests/admin/actions.test.js (+3/-4)
js_tests/admin/core.test.js (+25/-19)
js_tests/admin/inlines.test.js (+125/-16)
js_tests/admin/jsi18n-mocks.test.js (+6/-6)
js_tests/gis/mapwidget.test.js (+15/-16)
js_tests/tests.html (+60/-21)
package.json (+3/-2)
scripts/manage_translations.py (+17/-17)
setup.cfg (+56/-5)
setup.py (+6/-2)
tests/README.rst (+2/-2)
tests/admin_autodiscover/tests.py (+4/-8)
tests/admin_changelist/admin.py (+31/-2)
tests/admin_changelist/test_date_hierarchy.py (+19/-1)
tests/admin_changelist/tests.py (+422/-59)
tests/admin_checks/tests.py (+36/-2)
tests/admin_docs/test_middleware.py (+14/-3)
tests/admin_docs/test_utils.py (+9/-14)
tests/admin_docs/test_views.py (+11/-4)
tests/admin_filters/models.py (+9/-0)
tests/admin_filters/tests.py (+303/-10)
tests/admin_inlines/admin.py (+64/-8)
tests/admin_inlines/models.py (+34/-0)
tests/admin_inlines/tests.py (+222/-20)
tests/admin_ordering/tests.py (+1/-1)
tests/admin_registration/tests.py (+21/-1)
tests/admin_scripts/complex_app/management/__init__.py (+0/-0)
tests/admin_scripts/complex_app/management/commands/__init__.py (+0/-0)
tests/admin_scripts/configured_dynamic_settings_manage.py (+20/-0)
tests/admin_scripts/management/__init__.py (+0/-0)
tests/admin_scripts/management/commands/__init__.py (+0/-0)
tests/admin_scripts/management/commands/app_command.py (+1/-1)
tests/admin_scripts/management/commands/base_command.py (+1/-1)
tests/admin_scripts/management/commands/label_command.py (+1/-1)
tests/admin_scripts/management/commands/noargs_command.py (+1/-1)
tests/admin_scripts/simple_app/management/__init__.py (+0/-0)
tests/admin_scripts/simple_app/management/commands/__init__.py (+0/-0)
tests/admin_scripts/test_django_admin_py.py (+39/-0)
tests/admin_scripts/tests.py (+166/-188)
tests/admin_utils/admin.py (+19/-0)
tests/admin_utils/models.py (+7/-2)
tests/admin_utils/test_logentry.py (+20/-15)
tests/admin_utils/tests.py (+39/-10)
tests/admin_views/admin.py (+107/-37)
tests/admin_views/custom_has_permission_admin.py (+2/-2)
tests/admin_views/forms.py (+2/-2)
tests/admin_views/models.py (+76/-10)
tests/admin_views/templates/admin/admin_views/article/actions.html (+1/-1)
tests/admin_views/templates/admin/admin_views/article/change_form_object_tools.html (+1/-1)
tests/admin_views/templates/admin/admin_views/article/change_list_object_tools.html (+1/-1)
tests/admin_views/templates/admin/admin_views/article/change_list_results.html (+5/-5)
tests/admin_views/templates/admin/admin_views/article/date_hierarchy.html (+1/-1)
tests/admin_views/templates/admin/admin_views/article/pagination.html (+2/-2)
tests/admin_views/templates/admin/admin_views/article/prepopulated_fields_js.html (+1/-2)
tests/admin_views/templates/admin/admin_views/article/search_form.html (+2/-2)
tests/admin_views/templates/admin/admin_views/article/submit_line.html (+1/-1)
tests/admin_views/test_actions.py (+2/-3)
tests/admin_views/test_autocomplete_view.py (+204/-30)
tests/admin_views/test_history_view.py (+45/-0)
tests/admin_views/test_multidb.py (+4/-5)
tests/admin_views/test_nav_sidebar.py (+145/-0)
tests/admin_views/test_templatetags.py (+61/-0)
tests/admin_views/tests.py (+772/-215)
tests/admin_views/urls.py (+9/-0)
tests/admin_views/views.py (+2/-2)
tests/admin_widgets/models.py (+26/-2)
tests/admin_widgets/test_autocomplete_widget.py (+34/-9)
tests/admin_widgets/tests.py (+123/-70)
tests/admin_widgets/widgetadmin.py (+3/-1)
tests/aggregation/models.py (+1/-0)
tests/aggregation/test_filter_argument.py (+42/-1)
tests/aggregation/tests.py (+253/-27)
tests/aggregation_regress/models.py (+0/-15)
tests/aggregation_regress/tests.py (+46/-29)
tests/annotations/models.py (+1/-26)
tests/annotations/tests.py (+434/-36)
tests/apps/apps.py (+5/-0)
tests/apps/explicit_default_config_app/__init__.py (+1/-0)
tests/apps/explicit_default_config_app/apps.py (+5/-0)
tests/apps/explicit_default_config_empty_apps/__init__.py (+7/-0)
tests/apps/explicit_default_config_empty_apps/apps.py (+0/-0)
tests/apps/explicit_default_config_mismatch_app/__init__.py (+1/-0)
tests/apps/explicit_default_config_mismatch_app/apps.py (+5/-0)
tests/apps/explicit_default_config_mismatch_app/not_apps.py (+5/-0)
tests/apps/explicit_default_config_without_apps/__init__.py (+7/-0)
tests/apps/namespace_package_base/nsapp/apps.py (+1/-0)
tests/apps/no_config_app/__init__.py (+0/-0)
tests/apps/one_config_app/__init__.py (+0/-0)
tests/apps/one_config_app/apps.py (+5/-0)
tests/apps/tests.py (+188/-12)
tests/apps/two_configs_app/__init__.py (+0/-0)
tests/apps/two_configs_app/apps.py (+9/-0)
tests/apps/two_configs_one_default_app/__init__.py (+0/-0)
tests/apps/two_configs_one_default_app/apps.py (+10/-0)
tests/apps/two_default_configs_app/__init__.py (+0/-0)
tests/apps/two_default_configs_app/apps.py (+11/-0)
tests/asgi/__init__.py (+0/-0)
tests/asgi/project/static/file.txt (+1/-0)
tests/asgi/tests.py (+245/-0)
tests/asgi/urls.py (+24/-0)
tests/async/__init__.py (+0/-0)
tests/async/models.py (+5/-0)
tests/async/tests.py (+63/-0)
tests/auth_tests/client.py (+5/-3)
tests/auth_tests/models/__init__.py (+8/-3)
tests/auth_tests/models/with_custom_email_field.py (+1/-1)
tests/auth_tests/models/with_many_to_many.py (+40/-0)
tests/auth_tests/settings.py (+1/-0)
tests/auth_tests/test_admin_multidb.py (+2/-3)
tests/auth_tests/test_auth_backends.py (+107/-6)
tests/auth_tests/test_basic.py (+29/-9)
tests/auth_tests/test_checks.py (+93/-0)
tests/auth_tests/test_context_processors.py (+1/-1)
tests/auth_tests/test_decorators.py (+5/-5)
tests/auth_tests/test_forms.py (+74/-8)
tests/auth_tests/test_hashers.py (+81/-13)
tests/auth_tests/test_management.py (+204/-44)
tests/auth_tests/test_middleware.py (+38/-6)
tests/auth_tests/test_mixins.py (+16/-4)
tests/auth_tests/test_models.py (+179/-10)
tests/auth_tests/test_password_reset_timeout_days.py (+89/-0)
tests/auth_tests/test_remote_user.py (+31/-1)
tests/auth_tests/test_templates.py (+48/-14)
tests/auth_tests/test_tokens.py (+102/-23)
tests/auth_tests/test_validators.py (+5/-5)
tests/auth_tests/test_views.py (+70/-35)
tests/auth_tests/urls.py (+18/-11)
tests/backends/base/app_unmigrated/__init__.py (+0/-0)
tests/backends/base/app_unmigrated/migrations/0001_initial.py (+17/-0)
tests/backends/base/app_unmigrated/migrations/__init__.py (+0/-0)
tests/backends/base/app_unmigrated/models.py (+8/-0)
tests/backends/base/test_client.py (+30/-0)
tests/backends/base/test_creation.py (+227/-12)
tests/backends/base/test_introspection.py (+42/-0)
tests/backends/base/test_operations.py (+53/-19)
tests/backends/models.py (+37/-0)
tests/backends/mysql/test_creation.py (+35/-2)
tests/backends/mysql/test_features.py (+6/-0)
tests/backends/mysql/test_introspection.py (+29/-0)
tests/backends/mysql/test_operations.py (+47/-0)
tests/backends/mysql/test_schema.py (+2/-0)
tests/backends/oracle/test_creation.py (+1/-2)
tests/backends/oracle/test_introspection.py (+8/-8)
tests/backends/oracle/test_operations.py (+117/-1)
tests/backends/oracle/tests.py (+7/-6)
tests/backends/postgresql/test_creation.py (+2/-2)
tests/backends/postgresql/test_operations.py (+50/-0)
tests/backends/postgresql/tests.py (+93/-17)
tests/backends/sqlite/test_creation.py (+16/-0)
tests/backends/sqlite/test_features.py (+18/-0)
tests/backends/sqlite/test_operations.py (+85/-0)
tests/backends/sqlite/tests.py (+37/-14)
tests/backends/test_ddl_references.py (+93/-2)
tests/backends/test_utils.py (+1/-2)
tests/backends/tests.py (+99/-39)
tests/bash_completion/management/__init__.py (+0/-0)
tests/bash_completion/management/commands/__init__.py (+0/-0)
tests/basic/models.py (+10/-0)
tests/basic/tests.py (+77/-25)
tests/builtin_server/tests.py (+38/-2)
tests/builtin_server/urls.py (+7/-0)
tests/builtin_server/views.py (+15/-0)
tests/bulk_create/models.py (+12/-0)
tests/bulk_create/tests.py (+61/-9)
tests/cache/tests.py (+518/-190)
tests/check_framework/apps.py (+10/-0)
tests/check_framework/test_async_checks.py (+15/-0)
tests/check_framework/test_caches.py (+120/-8)
tests/check_framework/test_database.py (+29/-38)
tests/check_framework/test_model_checks.py (+341/-1)
tests/check_framework/test_multi_db.py (+2/-2)
tests/check_framework/test_security.py (+125/-155)
tests/check_framework/test_templates.py (+11/-18)
tests/check_framework/test_translation.py (+85/-16)
tests/check_framework/test_urls.py (+1/-1)
tests/check_framework/tests.py (+13/-5)
tests/check_framework/urls/path_compatibility/contains_re_named_group.py (+1/-1)
tests/conditional_processing/tests.py (+4/-4)
tests/constraints/models.py (+107/-2)
tests/constraints/tests.py (+306/-14)
tests/contenttypes_tests/models.py (+0/-24)
tests/contenttypes_tests/test_management.py (+40/-7)
tests/contenttypes_tests/test_models.py (+9/-1)
tests/contenttypes_tests/test_operations.py (+16/-0)
tests/contenttypes_tests/test_views.py (+2/-2)
tests/csrf_tests/test_context_processor.py (+1/-1)
tests/csrf_tests/tests.py (+151/-130)
tests/csrf_tests/views.py (+1/-1)
tests/custom_columns/tests.py (+9/-12)
tests/custom_lookups/models.py (+0/-3)
tests/custom_lookups/tests.py (+12/-15)
tests/custom_managers/models.py (+0/-18)
tests/custom_pk/models.py (+0/-6)
tests/custom_pk/tests.py (+3/-3)
tests/datatypes/models.py (+0/-3)
tests/dates/models.py (+1/-7)
tests/dates/tests.py (+3/-5)
tests/datetimes/tests.py (+67/-22)
tests/db_functions/comparison/test_cast.py (+14/-17)
tests/db_functions/comparison/test_collate.py (+56/-0)
tests/db_functions/comparison/test_greatest.py (+1/-2)
tests/db_functions/comparison/test_json_object.py (+82/-0)
tests/db_functions/comparison/test_least.py (+1/-2)
tests/db_functions/datetime/test_extract_trunc.py (+331/-122)
tests/db_functions/math/test_random.py (+13/-0)
tests/db_functions/math/test_round.py (+7/-7)
tests/db_functions/math/test_sign.py (+53/-0)
tests/db_functions/migrations/0001_setup_extensions.py (+13/-0)
tests/db_functions/migrations/0002_create_test_models.py (+77/-0)
tests/db_functions/migrations/__init__.py (+0/-0)
tests/db_functions/models.py (+0/-12)
tests/db_functions/text/test_left.py (+2/-2)
tests/db_functions/text/test_md5.py (+41/-0)
tests/db_functions/text/test_pad.py (+2/-2)
tests/db_functions/text/test_repeat.py (+3/-3)
tests/db_functions/text/test_right.py (+2/-2)
tests/db_functions/text/test_sha1.py (+42/-0)
tests/db_functions/text/test_sha224.py (+50/-0)
tests/db_functions/text/test_sha256.py (+42/-0)
tests/db_functions/text/test_sha384.py (+44/-0)
tests/db_functions/text/test_sha512.py (+51/-0)
tests/db_functions/text/test_substr.py (+2/-2)
tests/db_utils/tests.py (+30/-4)
tests/dbshell/fake_client.py (+3/-0)
tests/dbshell/test_mysql.py (+156/-28)
tests/dbshell/test_oracle.py (+36/-17)
tests/dbshell/test_postgresql.py (+79/-64)
tests/dbshell/test_sqlite.py (+23/-0)
tests/dbshell/tests.py (+17/-0)
tests/decorators/tests.py (+5/-5)
tests/defer/tests.py (+5/-5)
tests/defer_regress/models.py (+0/-9)
tests/defer_regress/tests.py (+2/-2)
tests/delete/models.py (+85/-6)
tests/delete/tests.py (+214/-12)
tests/delete_regress/models.py (+1/-0)
tests/delete_regress/tests.py (+26/-15)
tests/deprecation/test_default_hashing_algorithm.py (+55/-0)
tests/deprecation/test_middleware_mixin.py (+123/-0)
tests/dispatch/tests.py (+27/-20)
tests/distinct_on_fields/tests.py (+20/-20)
tests/empty_models/__init__.py (+0/-0)
tests/empty_models/models.py (+0/-0)
tests/empty_models/test_commands.py (+22/-0)
tests/expressions/models.py (+9/-5)
tests/expressions/test_deprecation.py (+24/-0)
tests/expressions/test_queryset_values.py (+1/-2)
tests/expressions/tests.py (+564/-155)
tests/expressions_case/models.py (+1/-12)
tests/expressions_case/tests.py (+109/-108)
tests/expressions_window/models.py (+12/-2)
tests/expressions_window/tests.py (+163/-38)
tests/extra_regress/models.py (+0/-3)
tests/extra_regress/tests.py (+36/-43)
tests/field_deconstruction/tests.py (+26/-19)
tests/field_subclassing/fields.py (+20/-0)
tests/field_subclassing/tests.py (+25/-2)
tests/file_storage/models.py (+18/-0)
tests/file_storage/test_generate_filename.py (+16/-0)
tests/file_storage/tests.py (+101/-20)
tests/file_uploads/tests.py (+135/-16)
tests/file_uploads/uploadhandler.py (+9/-1)
tests/file_uploads/urls.py (+2/-0)
tests/file_uploads/views.py (+33/-22)
tests/files/tests.py (+28/-3)
tests/filtered_relation/models.py (+30/-17)
tests/filtered_relation/tests.py (+294/-16)
tests/fixtures/fixtures/circular_reference.json (+18/-0)
tests/fixtures/fixtures/circular_reference_natural_key.json (+16/-0)
tests/fixtures/fixtures/forward_reference_fk.json (+4/-6)
tests/fixtures/fixtures/forward_reference_fk_natural_key.json (+20/-0)
tests/fixtures/fixtures/forward_reference_m2m.json (+4/-3)
tests/fixtures/fixtures/forward_reference_m2m_natural_key.json (+23/-0)
tests/fixtures/models.py (+28/-7)
tests/fixtures/tests.py (+343/-104)
tests/fixtures_model_package/tests.py (+4/-5)
tests/fixtures_regress/models.py (+9/-9)
tests/fixtures_regress/tests.py (+9/-5)
tests/flatpages_tests/absolute_urls.py (+6/-0)
tests/flatpages_tests/no_slash_urls.py (+5/-0)
tests/flatpages_tests/test_forms.py (+3/-3)
tests/flatpages_tests/test_models.py (+14/-1)
tests/flatpages_tests/test_sitemaps.py (+5/-2)
tests/flatpages_tests/urls.py (+1/-1)
tests/foreign_object/models/customers.py (+2/-3)
tests/foreign_object/models/empty_join.py (+2/-4)
tests/foreign_object/tests.py (+9/-10)
tests/forms_tests/field_tests/test_booleanfield.py (+2/-1)
tests/forms_tests/field_tests/test_charfield.py (+1/-1)
tests/forms_tests/field_tests/test_choicefield.py (+14/-1)
tests/forms_tests/field_tests/test_combofield.py (+2/-1)
tests/forms_tests/field_tests/test_datefield.py (+3/-4)
tests/forms_tests/field_tests/test_datetimefield.py (+104/-67)
tests/forms_tests/field_tests/test_decimalfield.py (+3/-2)
tests/forms_tests/field_tests/test_durationfield.py (+14/-0)
tests/forms_tests/field_tests/test_emailfield.py (+3/-1)
tests/forms_tests/field_tests/test_filefield.py (+2/-1)
tests/forms_tests/field_tests/test_filepathfield.py (+6/-1)
tests/forms_tests/field_tests/test_floatfield.py (+2/-1)
tests/forms_tests/field_tests/test_genericipaddressfield.py (+2/-1)
tests/forms_tests/field_tests/test_imagefield.py (+20/-6)
tests/forms_tests/field_tests/test_integerfield.py (+2/-1)
tests/forms_tests/field_tests/test_jsonfield.py (+116/-0)
tests/forms_tests/field_tests/test_multiplechoicefield.py (+2/-1)
tests/forms_tests/field_tests/test_multivaluefield.py (+1/-1)
tests/forms_tests/field_tests/test_regexfield.py (+19/-1)
tests/forms_tests/field_tests/test_slugfield.py (+8/-0)
tests/forms_tests/field_tests/test_splitdatetimefield.py (+2/-1)
tests/forms_tests/field_tests/test_timefield.py (+2/-1)
tests/forms_tests/field_tests/test_typedchoicefield.py (+2/-1)
tests/forms_tests/field_tests/test_typedmultiplechoicefield.py (+2/-1)
tests/forms_tests/field_tests/test_urlfield.py (+3/-1)
tests/forms_tests/field_tests/test_uuidfield.py (+4/-3)
tests/forms_tests/tests/test_error_messages.py (+27/-4)
tests/forms_tests/tests/test_forms.py (+90/-13)
tests/forms_tests/tests/test_formsets.py (+298/-176)
tests/forms_tests/tests/test_input_formats.py (+66/-61)
tests/forms_tests/tests/test_media.py (+127/-69)
tests/forms_tests/tests/test_utils.py (+1/-2)
tests/forms_tests/tests/test_validators.py (+104/-0)
tests/forms_tests/tests/tests.py (+1/-1)
tests/forms_tests/widget_tests/base.py (+4/-1)
tests/forms_tests/widget_tests/test_checkboxselectmultiple.py (+1/-1)
tests/forms_tests/widget_tests/test_clearablefileinput.py (+17/-2)
tests/forms_tests/widget_tests/test_fileinput.py (+6/-0)
tests/forms_tests/widget_tests/test_multiwidget.py (+43/-0)
tests/forms_tests/widget_tests/test_select.py (+4/-4)
tests/forms_tests/widget_tests/test_selectdatewidget.py (+21/-1)
tests/from_db_value/models.py (+0/-16)
tests/generic_inline_admin/tests.py (+31/-5)
tests/generic_relations/test_forms.py (+58/-0)
tests/generic_relations/tests.py (+113/-87)
tests/generic_relations_regress/models.py (+4/-25)
tests/generic_relations_regress/tests.py (+2/-3)
tests/generic_views/test_base.py (+26/-8)
tests/generic_views/test_dates.py (+20/-1)
tests/generic_views/test_edit.py (+12/-12)
tests/generic_views/urls.py (+8/-0)
tests/get_earliest_or_latest/tests.py (+0/-20)
tests/get_object_or_404/models.py (+0/-6)
tests/get_or_create/models.py (+0/-3)
tests/gis_tests/data/has_nulls/has_nulls.geojson (+139/-0)
tests/gis_tests/distapp/models.py (+1/-0)
tests/gis_tests/distapp/tests.py (+76/-18)
tests/gis_tests/gdal_tests/test_ds.py (+45/-4)
tests/gis_tests/gdal_tests/test_geom.py (+18/-14)
tests/gis_tests/gdal_tests/test_raster.py (+164/-90)
tests/gis_tests/gdal_tests/test_srs.py (+65/-27)
tests/gis_tests/gdal_tests/tests.py (+18/-0)
tests/gis_tests/geo3d/models.py (+18/-0)
tests/gis_tests/geo3d/tests.py (+1/-1)
tests/gis_tests/geoapp/test_expressions.py (+1/-4)
tests/gis_tests/geoapp/test_functions.py (+143/-87)
tests/gis_tests/geoapp/test_indexes.py (+51/-0)
tests/gis_tests/geoapp/test_regress.py (+1/-5)
tests/gis_tests/geoapp/test_serializers.py (+5/-4)
tests/gis_tests/geoapp/tests.py (+80/-37)
tests/gis_tests/geoapp/urls.py (+1/-1)
tests/gis_tests/geogapp/tests.py (+8/-9)
tests/gis_tests/geos_tests/test_geos.py (+78/-29)
tests/gis_tests/gis_migrations/migrations/0001_setup_extensions.py (+18/-0)
tests/gis_tests/gis_migrations/migrations/0002_create_models.py (+3/-0)
tests/gis_tests/gis_migrations/test_commands.py (+2/-2)
tests/gis_tests/gis_migrations/test_operations.py (+10/-6)
tests/gis_tests/inspectapp/models.py (+3/-0)
tests/gis_tests/inspectapp/tests.py (+7/-7)
tests/gis_tests/layermap/models.py (+30/-0)
tests/gis_tests/layermap/tests.py (+70/-9)
tests/gis_tests/rasterapp/migrations/0001_setup_extensions.py (+18/-0)
tests/gis_tests/rasterapp/migrations/0002_rastermodels.py (+47/-0)
tests/gis_tests/rasterapp/migrations/__init__.py (+0/-0)
tests/gis_tests/rasterapp/test_rasterfield.py (+28/-3)
tests/gis_tests/relatedapp/tests.py (+2/-13)
tests/gis_tests/test_fields.py (+1/-1)
tests/gis_tests/test_geoforms.py (+18/-8)
tests/gis_tests/test_geoip2.py (+8/-1)
tests/gis_tests/test_gis_tests_utils.py (+1/-2)
tests/gis_tests/test_measure.py (+41/-20)
tests/gis_tests/test_spatialrefsys.py (+27/-26)
tests/gis_tests/tests.py (+3/-19)
tests/gis_tests/utils.py (+2/-34)
tests/handlers/tests.py (+61/-1)
tests/handlers/urls.py (+3/-0)
tests/handlers/views.py (+24/-1)
tests/httpwrappers/tests.py (+96/-25)
tests/humanize_tests/tests.py (+36/-15)
tests/i18n/commands/ignore_dir/ignored.html (+1/-1)
tests/i18n/commands/templates/comments.thtml (+10/-10)
tests/i18n/commands/templates/plural.djtpl (+2/-2)
tests/i18n/commands/templates/subdir/ignored.html (+1/-1)
tests/i18n/commands/templates/template_with_error.tpl (+2/-2)
tests/i18n/commands/templates/test.html (+47/-44)
tests/i18n/commands/templates/xxx_ignored.html (+1/-1)
tests/i18n/contenttypes/tests.py (+2/-2)
tests/i18n/loading_app/apps.py (+4/-0)
tests/i18n/patterns/tests.py (+23/-14)
tests/i18n/patterns/urls/default.py (+5/-0)
tests/i18n/sampleproject/templates/percents.html (+8/-8)
tests/i18n/sampleproject/update_catalogs.py (+4/-4)
tests/i18n/test_compilation.py (+78/-20)
tests/i18n/test_extraction.py (+83/-54)
tests/i18n/test_percents.py (+23/-23)
tests/i18n/tests.py (+133/-32)
tests/i18n/utils.py (+0/-4)
tests/indexes/models.py (+8/-7)
tests/indexes/tests.py (+254/-29)
tests/inspectdb/models.py (+30/-1)
tests/inspectdb/tests.py (+129/-61)
tests/introspection/models.py (+32/-13)
tests/introspection/tests.py (+62/-34)
tests/invalid_models_tests/test_backend_specific.py (+1/-1)
tests/invalid_models_tests/test_deprecated_fields.py (+15/-0)
tests/invalid_models_tests/test_models.py (+1266/-50)
tests/invalid_models_tests/test_ordinary_fields.py (+196/-9)
tests/invalid_models_tests/test_relative_fields.py (+415/-169)
tests/logging_tests/logconfig.py (+6/-0)
tests/logging_tests/tests.py (+29/-33)
tests/lookup/models.py (+17/-6)
tests/lookup/test_decimalfield.py (+1/-2)
tests/lookup/test_lookups.py (+31/-8)
tests/lookup/test_timefield.py (+6/-9)
tests/lookup/tests.py (+266/-187)
tests/m2m_intermediary/models.py (+0/-6)
tests/m2m_intermediary/tests.py (+1/-1)
tests/m2m_recursive/models.py (+7/-0)
tests/m2m_recursive/tests.py (+83/-146)
tests/m2m_regress/tests.py (+14/-14)
tests/m2m_signals/models.py (+0/-9)
tests/m2m_signals/tests.py (+28/-0)
tests/m2m_through/models.py (+13/-16)
tests/m2m_through/tests.py (+132/-25)
tests/m2m_through_regress/models.py (+2/-8)
tests/m2m_through_regress/tests.py (+23/-71)
tests/m2o_recursive/tests.py (+6/-9)
tests/mail/tests.py (+219/-135)
tests/managers_regress/tests.py (+37/-32)
tests/many_to_many/models.py (+13/-0)
tests/many_to_many/tests.py (+230/-290)
tests/many_to_one/models.py (+18/-3)
tests/many_to_one/tests.py (+215/-158)
tests/many_to_one_null/models.py (+0/-3)
tests/many_to_one_null/tests.py (+32/-31)
tests/messages_tests/test_cookie.py (+62/-23)
tests/messages_tests/test_fallback.py (+11/-2)
tests/messages_tests/test_middleware.py (+1/-4)
tests/messages_tests/test_mixins.py (+6/-1)
tests/messages_tests/test_session.py (+10/-0)
tests/messages_tests/tests.py (+17/-0)
tests/middleware/test_security.py (+87/-27)
tests/middleware/tests.py (+322/-223)
tests/middleware/urls.py (+3/-0)
tests/middleware/views.py (+15/-1)
tests/middleware_exceptions/middleware.py (+69/-0)
tests/middleware_exceptions/tests.py (+195/-4)
tests/middleware_exceptions/urls.py (+5/-0)
tests/middleware_exceptions/views.py (+8/-0)
tests/migrate_signals/tests.py (+4/-7)
tests/migrations/routers.py (+4/-3)
tests/migrations/test_autodetector.py (+292/-7)
tests/migrations/test_base.py (+183/-6)
tests/migrations/test_commands.py (+365/-91)
tests/migrations/test_executor.py (+66/-10)
tests/migrations/test_fake_initial_case_insensitive/fake_initial/0001_initial.py (+28/-0)
tests/migrations/test_fake_initial_case_insensitive/fake_initial/__init__.py (+0/-0)
tests/migrations/test_fake_initial_case_insensitive/initial/0001_initial.py (+23/-0)
tests/migrations/test_fake_initial_case_insensitive/initial/__init__.py (+0/-0)
tests/migrations/test_loader.py (+86/-39)
tests/migrations/test_migrations_conflict_long_name/0001_initial.py (+14/-0)
tests/migrations/test_migrations_conflict_long_name/0002_conflicting_second_migration_with_long_name.py (+14/-0)
tests/migrations/test_migrations_conflict_long_name/0002_second.py (+14/-0)
tests/migrations/test_migrations_conflict_long_name/__init__.py (+0/-0)
tests/migrations/test_migrations_namespace_package/0001_initial.py (+15/-0)
tests/migrations/test_migrations_no_operations/0001_initial.py (+6/-0)
tests/migrations/test_migrations_no_operations/__init__.py (+0/-0)
tests/migrations/test_multidb.py (+1/-1)
tests/migrations/test_operations.py (+795/-221)
tests/migrations/test_optimizer.py (+67/-14)
tests/migrations/test_state.py (+126/-20)
tests/migrations/test_writer.py (+164/-33)
tests/model_enums/__init__.py (+0/-0)
tests/model_enums/tests.py (+265/-0)
tests/model_fields/models.py (+80/-10)
tests/model_fields/test_autofield.py (+47/-0)
tests/model_fields/test_binaryfield.py (+11/-10)
tests/model_fields/test_booleanfield.py (+9/-0)
tests/model_fields/test_charfield.py (+45/-7)
tests/model_fields/test_datetimefield.py (+3/-4)
tests/model_fields/test_decimalfield.py (+19/-6)
tests/model_fields/test_durationfield.py (+2/-2)
tests/model_fields/test_field_flags.py (+11/-15)
tests/model_fields/test_filefield.py (+77/-2)
tests/model_fields/test_filepathfield.py (+22/-0)
tests/model_fields/test_floatfield.py (+17/-0)
tests/model_fields/test_foreignkey.py (+19/-0)
tests/model_fields/test_imagefield.py (+15/-7)
tests/model_fields/test_integerfield.py (+62/-6)
tests/model_fields/test_jsonfield.py (+922/-0)
tests/model_fields/test_promises.py (+8/-4)
tests/model_fields/test_textfield.py (+12/-5)
tests/model_fields/test_uuid.py (+117/-3)
tests/model_fields/tests.py (+147/-1)
tests/model_forms/models.py (+22/-2)
tests/model_forms/test_modelchoicefield.py (+71/-2)
tests/model_forms/test_uuid.py (+1/-1)
tests/model_forms/tests.py (+228/-44)
tests/model_formsets/tests.py (+194/-38)
tests/model_formsets_regress/tests.py (+11/-8)
tests/model_indexes/models.py (+9/-3)
tests/model_indexes/tests.py (+147/-21)
tests/model_inheritance/models.py (+2/-21)
tests/model_inheritance/test_abstract_inheritance.py (+25/-23)
tests/model_inheritance/tests.py (+23/-6)
tests/model_inheritance_regress/models.py (+0/-31)
tests/model_inheritance_regress/tests.py (+33/-4)
tests/model_meta/results.py (+11/-11)
tests/model_meta/tests.py (+23/-7)
tests/model_options/apps.py (+25/-0)
tests/model_options/test_default_pk.py (+114/-0)
tests/model_regress/models.py (+4/-11)
tests/model_regress/test_pickle.py (+5/-2)
tests/model_regress/tests.py (+1/-1)
tests/model_utils/__init__.py (+0/-0)
tests/model_utils/tests.py (+10/-0)
tests/modeladmin/test_actions.py (+65/-0)
tests/modeladmin/test_checks.py (+31/-6)
tests/modeladmin/tests.py (+10/-31)
tests/multiple_database/models.py (+1/-4)
tests/multiple_database/tests.py (+4/-4)
tests/null_fk/models.py (+0/-3)
tests/null_fk_ordering/models.py (+0/-9)
tests/null_queries/models.py (+0/-6)
tests/one_to_one/models.py (+0/-6)
tests/one_to_one/tests.py (+40/-20)
tests/order_with_respect_to/base_tests.py (+21/-0)
tests/ordering/models.py (+7/-6)
tests/ordering/tests.py (+94/-24)
tests/pagination/tests.py (+141/-32)
tests/postgres_tests/fields.py (+10/-7)
tests/postgres_tests/migrations/0001_setup_extensions.py (+12/-4)
tests/postgres_tests/migrations/0002_create_test_models.py (+68/-9)
tests/postgres_tests/models.py (+38/-24)
tests/postgres_tests/test_aggregates.py (+185/-9)
tests/postgres_tests/test_apps.py (+1/-0)
tests/postgres_tests/test_array.py (+258/-17)
tests/postgres_tests/test_bulk_update.py (+2/-3)
tests/postgres_tests/test_constraints.py (+726/-15)
tests/postgres_tests/test_hstore.py (+14/-2)
tests/postgres_tests/test_indexes.py (+253/-30)
tests/postgres_tests/test_integration.py (+8/-5)
tests/postgres_tests/test_introspection.py (+0/-6)
tests/postgres_tests/test_json.py (+3/-0)
tests/postgres_tests/test_json_deprecation.py (+56/-0)
tests/postgres_tests/test_operations.py (+413/-0)
tests/postgres_tests/test_ranges.py (+220/-15)
tests/postgres_tests/test_search.py (+295/-18)
tests/postgres_tests/test_signals.py (+2/-1)
tests/postgres_tests/test_trigram.py (+13/-3)
tests/prefetch_related/models.py (+10/-23)
tests/prefetch_related/test_prefetch_related_objects.py (+26/-0)
tests/prefetch_related/tests.py (+180/-102)
tests/project_template/test_settings.py (+3/-1)
tests/project_template/views.py (+1/-1)
tests/queries/models.py (+39/-16)
tests/queries/test_bulk_update.py (+17/-5)
tests/queries/test_db_returning.py (+51/-0)
tests/queries/test_deprecation.py (+30/-0)
tests/queries/test_explain.py (+19/-21)
tests/queries/test_q.py (+33/-8)
tests/queries/test_qs_combinators.py (+209/-6)
tests/queries/test_query.py (+60/-16)
tests/queries/tests.py (+628/-591)
tests/queryset_pickle/models.py (+16/-1)
tests/queryset_pickle/tests.py (+122/-4)
tests/raw_query/tests.py (+13/-2)
tests/requests/test_accept_header.py (+101/-0)
tests/requests/test_is_ajax_deprecations.py (+12/-0)
tests/requests/tests.py (+29/-6)
tests/requirements/mysql.txt (+1/-1)
tests/requirements/postgres.txt (+1/-1)
tests/requirements/py3.txt (+14/-0)
tests/resolve_url/models.py (+1/-1)
tests/responses/test_cookie.py (+22/-4)
tests/responses/test_fileresponse.py (+28/-10)
tests/responses/tests.py (+9/-9)
tests/reverse_lookup/models.py (+0/-9)
tests/runtests.py (+142/-50)
tests/schema/fields.py (+8/-8)
tests/schema/models.py (+2/-0)
tests/schema/tests.py (+1015/-56)
tests/select_for_update/tests.py (+22/-0)
tests/select_related/models.py (+0/-39)
tests/select_related/tests.py (+1/-8)
tests/select_related_onetoone/models.py (+0/-27)
tests/select_related_regress/models.py (+0/-15)
tests/select_related_regress/tests.py (+4/-4)
tests/serializers/models/base.py (+1/-1)
tests/serializers/models/data.py (+10/-0)
tests/serializers/models/multi_table.py (+1/-0)
tests/serializers/models/natural.py (+15/-1)
tests/serializers/test_data.py (+14/-12)
tests/serializers/test_json.py (+14/-0)
tests/serializers/test_jsonl.py (+261/-0)
tests/serializers/test_natural.py (+21/-2)
tests/serializers/test_yaml.py (+14/-30)
tests/serializers/tests.py (+46/-17)
tests/servers/test_basehttp.py (+31/-1)
tests/servers/test_liveserverthread.py (+0/-2)
tests/servers/tests.py (+79/-5)
tests/servers/views.py (+1/-1)
tests/sessions_tests/models.py (+3/-0)
tests/sessions_tests/no_clear_expired.py (+6/-0)
tests/sessions_tests/tests.py (+135/-93)
tests/settings_tests/tests.py (+73/-15)
tests/shell/tests.py (+41/-0)
tests/shortcuts/tests.py (+2/-2)
tests/shortcuts/urls.py (+0/-5)
tests/shortcuts/views.py (+1/-41)
tests/signals/models.py (+0/-3)
tests/signals/test_deprecation.py (+22/-0)
tests/signing/tests.py (+99/-5)
tests/sitemaps_tests/test_generic.py (+3/-3)
tests/sitemaps_tests/test_http.py (+103/-29)
tests/sitemaps_tests/test_https.py (+2/-2)
tests/sitemaps_tests/urls/http.py (+59/-24)
tests/sites_framework/models.py (+0/-3)
tests/sites_tests/tests.py (+24/-13)
tests/staticfiles_tests/cases.py (+6/-4)
tests/staticfiles_tests/project/pathlib/pathlib.txt (+1/-0)
tests/staticfiles_tests/settings.py (+2/-0)
tests/staticfiles_tests/storage.py (+5/-0)
tests/staticfiles_tests/test_forms.py (+4/-4)
tests/staticfiles_tests/test_handlers.py (+22/-0)
tests/staticfiles_tests/test_management.py (+24/-2)
tests/staticfiles_tests/test_storage.py (+36/-84)
tests/string_lookup/models.py (+0/-18)
tests/swappable_models/tests.py (+1/-4)
tests/syndication_tests/feeds.py (+28/-1)
tests/syndication_tests/models.py (+4/-2)
tests/syndication_tests/tests.py (+50/-10)
tests/syndication_tests/urls.py (+2/-0)
tests/template_backends/jinja2/template_backends/syntax_error_include.html (+1/-0)
tests/template_backends/test_django.py (+14/-1)
tests/template_backends/test_dummy.py (+4/-4)
tests/template_backends/test_jinja2.py (+48/-1)
tests/template_tests/filter_tests/test_add.py (+17/-0)
tests/template_tests/filter_tests/test_addslashes.py (+1/-1)
tests/template_tests/filter_tests/test_filesizeformat.py (+50/-30)
tests/template_tests/filter_tests/test_floatformat.py (+27/-0)
tests/template_tests/filter_tests/test_make_list.py (+1/-1)
tests/template_tests/filter_tests/test_pluralize.py (+3/-2)
tests/template_tests/filter_tests/test_title.py (+1/-1)
tests/template_tests/filter_tests/test_urlize.py (+3/-3)
tests/template_tests/relative_templates/dir1/dir2/inc3.html (+1/-0)
tests/template_tests/syntax_tests/i18n/test_blocktranslate.py (+586/-0)
tests/template_tests/syntax_tests/i18n/test_translate.py (+269/-0)
tests/template_tests/syntax_tests/test_autoescape.py (+4/-2)
tests/template_tests/syntax_tests/test_basic.py (+2/-1)
tests/template_tests/syntax_tests/test_if_equal.py (+29/-2)
tests/template_tests/syntax_tests/test_include.py (+24/-8)
tests/template_tests/syntax_tests/test_invalid_string.py (+1/-1)
tests/template_tests/syntax_tests/test_lorem.py (+23/-1)
tests/template_tests/syntax_tests/test_resetcycle.py (+4/-4)
tests/template_tests/syntax_tests/test_url.py (+1/-1)
tests/template_tests/templatetags/custom.py (+4/-4)
tests/template_tests/templatetags/inclusion.py (+9/-0)
tests/template_tests/test_autoreloader.py (+112/-0)
tests/template_tests/test_context.py (+5/-4)
tests/template_tests/test_custom.py (+26/-0)
tests/template_tests/test_engine.py (+7/-0)
tests/template_tests/test_extends.py (+6/-1)
tests/template_tests/test_extends_relative.py (+6/-0)
tests/template_tests/test_library.py (+20/-0)
tests/template_tests/test_loaders.py (+7/-2)
tests/template_tests/test_logging.py (+1/-1)
tests/template_tests/test_nodelist.py (+6/-5)
tests/template_tests/test_origin.py (+6/-4)
tests/template_tests/test_response.py (+33/-15)
tests/template_tests/utils.py (+4/-4)
tests/template_tests/views.py (+1/-1)
tests/templates/custom_admin/change_list.html (+1/-1)
tests/test_client/test_fakepayload.py (+11/-0)
tests/test_client/tests.py (+133/-14)
tests/test_client/urls.py (+10/-0)
tests/test_client/views.py (+16/-4)
tests/test_client_regress/tests.py (+62/-66)
tests/test_client_regress/urls.py (+3/-0)
tests/test_client_regress/views.py (+19/-4)
tests/test_exceptions/test_validation_error.py (+269/-0)
tests/test_runner/test_debug_sql.py (+27/-0)
tests/test_runner/test_discover_runner.py (+142/-16)
tests/test_runner/tests.py (+45/-16)
tests/test_runner_apps/buffer/tests_buffer.py (+14/-0)
tests/test_runner_apps/simple/tests.py (+3/-0)
tests/test_sqlite.py (+2/-0)
tests/test_utils/models.py (+1/-10)
tests/test_utils/test_simpletestcase.py (+145/-0)
tests/test_utils/test_testcase.py (+98/-2)
tests/test_utils/test_transactiontestcase.py (+1/-1)
tests/test_utils/tests.py (+259/-39)
tests/test_utils/views.py (+1/-1)
tests/timezones/tests.py (+139/-119)
tests/transaction_hooks/models.py (+0/-3)
tests/transaction_hooks/tests.py (+5/-0)
tests/transactions/tests.py (+111/-46)
tests/unmanaged_models/models.py (+0/-17)
tests/update/models.py (+8/-6)
tests/update/tests.py (+97/-9)
tests/update_only_fields/models.py (+10/-6)
tests/update_only_fields/tests.py (+9/-1)
tests/urlpatterns/path_same_name_urls.py (+34/-0)
tests/urlpatterns/path_urls.py (+6/-0)
tests/urlpatterns/test_resolvers.py (+11/-1)
tests/urlpatterns/tests.py (+121/-7)
tests/urlpatterns/views.py (+1/-1)
tests/urlpatterns_reverse/test_localeregexdescriptor.py (+6/-0)
tests/urlpatterns_reverse/tests.py (+16/-8)
tests/urlpatterns_reverse/views.py (+4/-4)
tests/user_commands/management/__init__.py (+0/-0)
tests/user_commands/management/commands/__init__.py (+0/-0)
tests/user_commands/management/commands/dance.py (+2/-2)
tests/user_commands/management/commands/hal.py (+1/-0)
tests/user_commands/management/commands/mutually_exclusive_required.py (+20/-0)
tests/user_commands/management/commands/no_system_checks.py (+8/-0)
tests/user_commands/management/commands/outputwrapper.py (+8/-0)
tests/user_commands/management/commands/required_constant_option.py (+20/-0)
tests/user_commands/management/commands/required_list_option.py (+10/-0)
tests/user_commands/management/commands/specific_system_checks.py (+9/-0)
tests/user_commands/management/commands/subparser_dest.py (+13/-0)
tests/user_commands/management/commands/subparser_required.py (+13/-0)
tests/user_commands/tests.py (+223/-15)
tests/utils_tests/files/strip_tags1.html (+3/-3)
tests/utils_tests/test_archive.py (+58/-26)
tests/utils_tests/test_autoreload.py (+116/-31)
tests/utils_tests/test_connection.py (+10/-0)
tests/utils_tests/test_crypto.py (+57/-2)
tests/utils_tests/test_datastructures.py (+135/-27)
tests/utils_tests/test_dateformat.py (+43/-2)
tests/utils_tests/test_dateparse.py (+21/-2)
tests/utils_tests/test_decorators.py (+7/-39)
tests/utils_tests/test_encoding.py (+39/-28)
tests/utils_tests/test_encoding_deprecations.py (+24/-0)
tests/utils_tests/test_functional.py (+51/-29)
tests/utils_tests/test_hashable.py (+2/-1)
tests/utils_tests/test_html.py (+4/-2)
tests/utils_tests/test_http.py (+156/-28)
tests/utils_tests/test_inspect.py (+49/-2)
tests/utils_tests/test_module/__main__.py (+0/-0)
tests/utils_tests/test_module_loading.py (+25/-18)
tests/utils_tests/test_numberformat.py (+25/-5)
tests/utils_tests/test_os_utils.py (+13/-1)
tests/utils_tests/test_safestring.py (+3/-3)
tests/utils_tests/test_termcolors.py (+26/-2)
tests/utils_tests/test_text.py (+41/-11)
tests/utils_tests/test_timesince.py (+44/-3)
tests/utils_tests/test_timezone.py (+104/-28)
tests/utils_tests/test_topological_sort.py (+1/-1)
tests/utils_tests/test_tree.py (+5/-0)
tests/utils_tests/utils.py (+14/-0)
tests/validation/models.py (+13/-4)
tests/validation/test_error_messages.py (+17/-17)
tests/validation/tests.py (+7/-0)
tests/validators/invalid_urls.txt (+3/-0)
tests/validators/tests.py (+51/-4)
tests/validators/valid_urls.txt (+10/-2)
tests/view_tests/models.py (+0/-6)
tests/view_tests/templates/jsi18n-multi-catalogs.html (+4/-4)
tests/view_tests/templates/jsi18n.html (+9/-9)
tests/view_tests/templates/my_technical_500.html (+1/-0)
tests/view_tests/templates/my_technical_500.txt (+1/-0)
tests/view_tests/tests/test_csrf.py (+4/-4)
tests/view_tests/tests/test_debug.py (+501/-50)
tests/view_tests/tests/test_defaults.py (+29/-10)
tests/view_tests/tests/test_i18n.py (+72/-27)
tests/view_tests/tests/test_json.py (+1/-1)
tests/view_tests/tests/test_static.py (+4/-4)
tests/view_tests/urls.py (+2/-0)
tests/view_tests/views.py (+32/-2)
tests/wsgi/tests.py (+4/-1)
Conflict in AUTHORS
Conflict in Django.egg-info/PKG-INFO
Conflict in PKG-INFO
Conflict in README.rst
Conflict in debian/changelog
Conflict in debian/control
Conflict in debian/patches/0001-disable-sources-in-sphinxdoc.diff
Conflict in debian/patches/0004-Use-locally-installed-documentation-sources.patch
Conflict in debian/patches/series
Conflict in debian/watch
Conflict in django/__init__.py
Conflict in django/contrib/admin/options.py
Conflict in django/contrib/admin/templates/admin/edit_inline/stacked.html
Conflict in django/contrib/admin/templates/admin/edit_inline/tabular.html
Conflict in django/contrib/auth/forms.py
Conflict in django/contrib/gis/db/models/aggregates.py
Conflict in django/contrib/postgres/aggregates/general.py
Conflict in django/contrib/postgres/fields/jsonb.py
Conflict in django/contrib/postgres/lookups.py
Conflict in django/contrib/sessions/middleware.py
Conflict in django/core/cache/backends/filebased.py
Conflict in django/core/cache/backends/memcached.py
Conflict in django/core/files/storage.py
Conflict in django/core/mail/message.py
Conflict in django/core/validators.py
Conflict in django/db/backends/ddl_references.py
Conflict in django/db/models/fields/__init__.py
Conflict in django/db/models/fields/files.py
Conflict in django/db/models/indexes.py
Conflict in django/http/multipartparser.py
Conflict in django/http/response.py
Conflict in django/utils/archive.py
Conflict in django/utils/dateformat.py
Conflict in django/utils/http.py
Conflict in django/utils/text.py
Conflict in docs/faq/help.txt
Conflict in docs/faq/install.txt
Conflict in docs/faq/troubleshooting.txt
Conflict in docs/howto/deployment/index.txt
Conflict in docs/index.txt
Conflict in docs/internals/contributing/bugs-and-features.txt
Conflict in docs/internals/contributing/index.txt
Conflict in docs/internals/contributing/new-contributors.txt
Conflict in docs/internals/contributing/writing-code/unit-tests.txt
Conflict in docs/internals/contributing/writing-documentation.txt
Conflict in docs/intro/contributing.txt
Conflict in docs/intro/reusable-apps.txt
Conflict in docs/intro/tutorial01.txt
Conflict in docs/intro/whatsnext.txt
Conflict in docs/man/django-admin.1
Conflict in docs/ref/contrib/gis/db-api.txt
Conflict in docs/ref/contrib/gis/geoquerysets.txt
Conflict in docs/ref/contrib/gis/install/index.txt
Conflict in docs/ref/contrib/sitemaps.txt
Conflict in docs/ref/databases.txt
Conflict in docs/ref/django-admin.txt
Conflict in docs/ref/forms/fields.txt
Conflict in docs/ref/models/database-functions.txt
Conflict in docs/ref/models/fields.txt
Conflict in docs/ref/models/querysets.txt
Conflict in docs/ref/request-response.txt
Conflict in docs/ref/settings.txt
Conflict in docs/ref/utils.txt
Conflict in docs/ref/validators.txt
Conflict in docs/releases/2.1.15.txt
Conflict in docs/releases/2.2.8.txt
Conflict in docs/releases/security.txt
Conflict in docs/topics/files.txt
Conflict in docs/topics/forms/formsets.txt
Conflict in docs/topics/forms/modelforms.txt
Conflict in docs/topics/migrations.txt
Conflict in docs/topics/templates.txt
Conflict in setup.py
Conflict in tests/admin_inlines/tests.py
Conflict in tests/admin_views/admin.py
Conflict in tests/admin_widgets/tests.py
Conflict in tests/cache/tests.py
Conflict in tests/file_storage/test_generate_filename.py
Conflict in tests/file_uploads/tests.py
Conflict in tests/file_uploads/views.py
Conflict in tests/gis_tests/distapp/tests.py
Conflict in tests/gis_tests/geoapp/tests.py
Conflict in tests/gis_tests/geos_tests/test_geos.py
Conflict in tests/i18n/loading_app/apps.py
Conflict in tests/indexes/tests.py
Conflict in tests/mail/tests.py
Conflict in tests/migrations/test_commands.py
Conflict in tests/model_fields/test_filefield.py
Conflict in tests/postgres_tests/test_hstore.py
Conflict in tests/postgres_tests/test_json.py
Conflict in tests/requirements/py3.txt
Conflict in tests/responses/test_cookie.py
Conflict in tests/staticfiles_tests/test_storage.py
Conflict in tests/utils_tests/test_archive.py
Conflict in tests/utils_tests/test_http.py
Conflict in tests/utils_tests/test_text.py
Conflict in tests/validators/tests.py
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
Utkarsh Gupta (community) Needs Fixing
Canonical Server packageset reviewers Pending
git-ubuntu import Pending
Review via email: mp+412306@code.launchpad.net

Description of the change

Merged up to Debian Unstable version 2:3.2.9-2, this should become a sync but this
MP will show the process of getting to this point.

PPA: ppa:lvoytek/python-django-sync-jammy

Basic test:

# python3
>>> import django
>>> print(django.get_version())
3.2.9

Package Test Results:

autopkgtest [17:12:27]: @@@@@@@@@@@@@@@@@@@@ summary
command1 PASS
command2 PASS

Additional autopkgtests were also run on reverse dependencies, all of which succeeded. These are associated with the above PPA.

This can become a sync as the only delta, containing the patch file test_subparser_regression.patch, was fixed in Debian version 2:3.2.8-1.

To post a comment you must log in.
Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Hiya,

I see there are a bunch of conflicts here. Also, if this were to become a sync, the only thing remaining in this MP would be a d/ch entry and update-maintainers. Could you TAL and fix the same? TIA! \o/

review: Needs Fixing
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

@Utkarsh
The conflicts come from the merge target being ubuntu/devel, but since this is meant to show the (non-)delta to Debian it would need to be against debian/sid to show correctly.

@utkarsh
By accident you've consumed the canonical-server slot which is needed to be seen in our overviews, I can't add one back, but since I'll approve that is ok. Otherwise we'd need to add it back now.

--- review --

Vs the right branch it LGTM

$ git diff pkg/debian/sid | diffstat
 changelog | 14 ++++++++++++++
 control | 3 ++-
 2 files changed, 16 insertions(+), 1 deletion(-)

Sure, the question now is were all drops correct, but there is only one and plenty of tests 8as discussed in standup yesterday).

5030e5d8a * d/p/test_subparser_regression.patch: Fix test regression (LP: #1945993)
Is in 3.2.8 so it is ok to drop it.
No other delta left.

The tests indeed passed and I looked at $ lp-test-ppa ppa:lvoytek/python-django-sync-jammy --release jammy --showpass which showed me all the others that passed just fine.

On the Debian side a lot has changed since 2.2.24 (two years !)
Really time to get this updated.
The migration might have some hiccups due to that, but I see no show stoppers in there that would not work well for Ubuntu.

Therefore +1 to sync this.

review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Add Breaks: on python-django-pyscss << 2.0.2-10 (Closes: #983618)

That we have ready
 python-django-pyscss | 2.0.2-10 | jammy | source

Add Breaks: on lava-server << 2021.11 (Closes: #996931)
 lava-server | 2020.12-5 | jammy/universe | all

That would be unusable then, but ok as it is the same in Debian and we will pick it up once a compatible version exists.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Download full text (13.1 KiB)

$ syncpackage -r jammy-proposed -d unstable -v python-django --force --bug 1946890
Loading Gnome
Loading Google
Loading Windows (alt)
Loading file
Loading keyczar
Loading multi
Loading pyfs
Loading KWallet
Loading SecretService
Loading Windows
Loading chainer
Loading macOS
Source python-django -> jammy/Proposed: current version 2:2.2.24-1ubuntu1, new version 2:3.2.9-2
New changes:
python-django (2:3.2.9-2) unstable; urgency=medium

  * Team upload.
  * Fix __in lookup crash when combining with filtered aggregates.
    Fix for: https://code.djangoproject.com/ticket/32690
    This issue affects src:lava, where work is being done towards Django 3.2
    compatibility.
    Upstream patch from:
    https://github.com/django/django/commit/136ff592ad8aa8b7fa1e61435e5501cc98ce8573
  * Add Breaks: on lava-server << 2021.11 (Closes: #996931)
  * Add Breaks: on python-django-pyscss << 2.0.2-10 (Closes: #983618)

 -- Antonio Terceiro <email address hidden> Wed, 10 Nov 2021 11:22:48 -0300

python-django (2:3.2.9-1) unstable; urgency=medium

  * New upstream release.
    <https://docs.djangoproject.com/en/3.2/releases/3.2.9/>

 -- Chris Lamb <email address hidden> Mon, 01 Nov 2021 16:13:55 +0000

python-django (2:3.2.8-1) unstable; urgency=medium

  * New upstream bugfix release.
  * Drop a patch applied upstream.
  * Bump Standards-Version to 4.6.0.

 -- Chris Lamb <email address hidden> Tue, 05 Oct 2021 09:34:57 +0100

python-django (2:3.2.7-4) unstable; urgency=medium

  * Skip a test that is fixed upstream (with a number of overlapping patches).

 -- Chris Lamb <email address hidden> Mon, 13 Sep 2021 09:03:27 +0100

python-django (2:3.2.7-3) unstable; urgency=medium

  * Actually upload 3.2 branch to unstable...

 -- Chris Lamb <email address hidden> Thu, 09 Sep 2021 17:49:23 +0100

python-django (2:3.2.7-2) experimental; urgency=medium

  * Upload 3.2 branch to unstable.

 -- Chris Lamb <email address hidden> Thu, 09 Sep 2021 15:51:11 +0100

python-django (2:3.2.7-1) experimental; urgency=medium

  * New upstream bugfix release.

 -- Chris Lamb <email address hidden> Wed, 01 Sep 2021 10:46:07 +0100

python-django (2:3.2.6-1) experimental; urgency=medium

  * New upstream bugfix release.
    <https://docs.djangoproject.com/en/3.2/releases/3.2.6/>
  * Bump Standards-Version to 4.5.1.

 -- Chris Lamb <email address hidden> Mon, 02 Aug 2021 09:16:21 +0100

python-django (2:3.2.5-2) experimental; urgency=medium

  * Don't symlink /usr/bin/django-admin to "django-admin.py"; ship the script
    generated by the entry_points system instead, otherwise we introduce a
    confusing "django-admin.py" deprecation message when using "django-admin".
    (Closes: #991098)

 -- Chris Lamb <email address hidden> Thu, 15 Jul 2021 13:54:57 +0100

python-django (2:3.2.5-1) experimental; urgency=medium

  * New upstream security release:

    - CVE-2021-35042: Potential SQL injection via unsanitized
      QuerySet.order_by() input.

      Unsanitized user input passed to QuerySet.order_by() could bypass
      intended column reference validation in path marked for deprecation
      resulting in a potential SQL injection even if a deprecation warning is
      emitted. As a mitigation, the strict co...

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

https://launchpad.net/ubuntu/+source/python-django/2:3.2.9-2 builds fine it seems.
Please track migration of this and help to overcome any blockers.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/AUTHORS b/AUTHORS
2index b8c688c..f2a38ac 100644
3--- a/AUTHORS
4+++ b/AUTHORS
5@@ -12,6 +12,7 @@ answer newbie questions, and generally made Django that much better:
6 Abhijeet Viswa <abhijeetviswa@gmail.com>
7 Abhinav Patil <https://github.com/ubadub/>
8 Abhishek Gautam <abhishekg1128@yahoo.com>
9+ Abhyudai <https://github.com/abhiabhi94>
10 Adam Allred <adam.w.allred@gmail.com>
11 Adam Bogdał <adam@bogdal.pl>
12 Adam Donaghy
13@@ -34,13 +35,15 @@ answer newbie questions, and generally made Django that much better:
14 Akshesh Doshi <aksheshdoshi+django@gmail.com>
15 alang@bright-green.com
16 Alasdair Nicol <https://al.sdair.co.uk/>
17- Albert Wang <aywang31@gmail.com>
18+ Albert Wang <https://github.com/albertyw/>
19 Alcides Fonseca
20+ Aldian Fazrihady <mobile@aldian.net>
21 Aleksandra Sendecka <asendecka@hauru.eu>
22 Aleksi Häkli <aleksi.hakli@iki.fi>
23 Alexander Dutton <dev@alexdutton.co.uk>
24 Alexander Myodov <alex@myodov.com>
25- Alexandr Tatarinov <tatarinov1997@gmail.com>
26+ Alexandr Tatarinov <tatarinov.dev@gmail.com>
27+ Alex Aktsipetrov <alex.akts@gmail.com>
28 Alex Becker <https://alexcbecker.net/>
29 Alex Couper <http://alexcouper.com/>
30 Alex Dedul
31@@ -49,6 +52,8 @@ answer newbie questions, and generally made Django that much better:
32 Alex Ogier <alex.ogier@gmail.com>
33 Alex Robbins <alexander.j.robbins@gmail.com>
34 Alexey Boriskin <alex@boriskin.me>
35+ Alexey Tsivunin <most-208@yandex.ru>
36+ Ali Vakilzade <ali@vakilzade.com>
37 Aljosa Mohorovic <aljosa.mohorovic@gmail.com>
38 Amit Chakradeo <https://amit.chakradeo.net/>
39 Amit Ramon <amit.ramon@gmail.com>
40@@ -70,6 +75,7 @@ answer newbie questions, and generally made Django that much better:
41 Andrew Pinkham <http://AndrewsForge.com>
42 Andrews Medina <andrewsmedina@gmail.com>
43 Andriy Sokolovskiy <me@asokolovskiy.com>
44+ Andy Chosak <andy@chosak.org>
45 Andy Dustman <farcepest@gmail.com>
46 Andy Gayton <andy-django@thecablelounge.com>
47 andy@jadedplanet.net
48@@ -89,6 +95,7 @@ answer newbie questions, and generally made Django that much better:
49 Aron Podrigal <aronp@guaranteedplus.com>
50 Artem Gnilov <boobsd@gmail.com>
51 Arthur <avandorp@gmail.com>
52+ Arthur Jovart <arthur@jovart.com>
53 Arthur Koziel <http://arthurkoziel.com>
54 Arthur Rio <arthur.rio44@gmail.com>
55 Arvis Bickovskis <viestards.lists@gmail.com>
56@@ -105,11 +112,13 @@ answer newbie questions, and generally made Django that much better:
57 Baptiste Mispelon <bmispelon@gmail.com>
58 Barry Pederson <bp@barryp.org>
59 Bartolome Sanchez Salado <i42sasab@uco.es>
60+ Barton Ip <notbartonip@gmail.com>
61 Bartosz Grabski <bartosz.grabski@gmail.com>
62 Bashar Al-Abdulhadi
63 Bastian Kleineidam <calvin@debian.org>
64 Batiste Bieler <batiste.bieler@gmail.com>
65 Batman
66+ Batuhan Taskaya <batuhanosmantaskaya@gmail.com>
67 Baurzhan Ismagulov <ibr@radix50.net>
68 Ben Dean Kawamura <ben.dean.kawamura@gmail.com>
69 Ben Firshman <ben@firshman.co.uk>
70@@ -140,6 +149,7 @@ answer newbie questions, and generally made Django that much better:
71 Brian Beck <http://blog.brianbeck.com/>
72 Brian Fabian Crain <http://www.bfc.do/>
73 Brian Harring <ferringb@gmail.com>
74+ Brian Helba <brian.helba@kitware.com>
75 Brian Ray <http://brianray.chipy.org/>
76 Brian Rosner <brosner@gmail.com>
77 Bruce Kroeze <https://coderseye.com/>
78@@ -156,6 +166,7 @@ answer newbie questions, and generally made Django that much better:
79 Cameron Curry
80 Cameron Knight (ckknight)
81 Can Burak Çilingir <canburak@cs.bilgi.edu.tr>
82+ Can Sarıgöl <ertugrulsarigol@gmail.com>
83 Carl Meyer <carl@oddbird.net>
84 Carles Pina i Estany <carles@pina.cat>
85 Carlos Eduardo de Paula <carlosedp@gmail.com>
86@@ -166,6 +177,7 @@ answer newbie questions, and generally made Django that much better:
87 ChaosKCW
88 Charlie Leifer <coleifer@gmail.com>
89 charly.wilhelm@gmail.com
90+ Chason Chaffin <chason@gmail.com>
91 Cheng Zhang
92 Chris Adams
93 Chris Beaven <smileychris@gmail.com>
94@@ -180,6 +192,7 @@ answer newbie questions, and generally made Django that much better:
95 Christian Metts
96 Christian Oudard <christian.oudard@gmail.com>
97 Christian Tanzer <tanzer@swing.co.at>
98+ Christoffer Sjöbergsson
99 Christophe Pettus <xof@thebuild.com>
100 Christopher Adams <http://christopheradams.info>
101 Christopher Babiak <chrisbabiak@gmail.com>
102@@ -194,6 +207,7 @@ answer newbie questions, and generally made Django that much better:
103 Colin Wood <cwood06@gmail.com>
104 Collin Anderson <cmawebsite@gmail.com>
105 Collin Grady <collin@collingrady.com>
106+ Colton Hicks <coltonbhicks@gmail.com>
107 Craig Blaszczyk <masterjakul@gmail.com>
108 crankycoder@gmail.com
109 Curtis Maloney (FunkyBob) <curtis@tinbrain.net>
110@@ -211,6 +225,7 @@ answer newbie questions, and generally made Django that much better:
111 Daniel Poelzleithner <https://poelzi.org/>
112 Daniel Pyrathon <pirosb3@gmail.com>
113 Daniel Roseman <http://roseman.org.uk/>
114+ Daniel Tao <https://philosopherdeveloper.com/>
115 Daniel Wiesmann <daniel.wiesmann@gmail.com>
116 Danilo Bargen
117 Dan Johnson <danj.py@gmail.com>
118@@ -235,9 +250,12 @@ answer newbie questions, and generally made Django that much better:
119 David Sanders <dsanders11@ucsbalum.com>
120 David Schein
121 David Tulig <david.tulig@gmail.com>
122+ David Wobrock <david.wobrock@gmail.com>
123 Davide Ceretti <dav.ceretti@gmail.com>
124+ Deep L. Sukhwani <deepsukhwani@gmail.com>
125 Deepak Thukral <deep.thukral@gmail.com>
126 Denis Kuzmichyov <kuzmichyov@gmail.com>
127+ Dennis Schwertel <dennisschwertel@gmail.com>
128 Derek Willis <http://blog.thescoop.org/>
129 Deric Crago <deric.crago@gmail.com>
130 deric@monowerks.com
131@@ -248,6 +266,7 @@ answer newbie questions, and generally made Django that much better:
132 Dmitri Fedortchenko <zeraien@gmail.com>
133 Dmitry Jemerov <intelliyole@gmail.com>
134 dne@mayonnaise.net
135+ Dolan Antenucci <antenucci.d@gmail.com>
136 Donald Harvey <donald@donaldharvey.co.uk>
137 Donald Stufft <donald@stufft.io>
138 Don Spaulding <donspauldingii@gmail.com>
139@@ -255,7 +274,9 @@ answer newbie questions, and generally made Django that much better:
140 Doug Napoleone <doug@dougma.com>
141 dready <wil@mojipage.com>
142 dusk@woofle.net
143+ Dustyn Gibson <miigotu@gmail.com>
144 Ed Morley <https://github.com/edmorley>
145+ Egidijus Macijauskas <e.macijauskas@outlook.com>
146 eibaan@gmail.com
147 elky <http://elky.me/>
148 Emmanuelle Delescolle <https://github.com/nanuxbe>
149@@ -272,22 +293,29 @@ answer newbie questions, and generally made Django that much better:
150 Erik Karulf <erik@karulf.com>
151 Erik Romijn <django@solidlinks.nl>
152 eriks@win.tue.nl
153+ Erwin Junge <erwin@junge.nl>
154 Esdras Beleza <linux@esdrasbeleza.com>
155 Espen Grindhaug <http://grindhaug.org/>
156+ Étienne Beaulé <beauleetienne0@gmail.com>
157 Eugene Lazutkin <http://lazutkin.com/blog/>
158 Evan Grim <https://github.com/egrim>
159 Fabrice Aneche <akh@nobugware.com>
160+ Farhaan Bukhsh <farhaan.bukhsh@gmail.com>
161 favo@exoweb.net
162 fdr <drfarina@gmail.com>
163 Federico Capoano <nemesis@ninux.org>
164+ Felipe Lee <felipe.lee.garcia@gmail.com>
165 Filip Noetzel <http://filip.noetzel.co.uk/>
166 Filip Wasilewski <filip.wasilewski@gmail.com>
167 Finn Gruwier Larsen <finn@gruwier.dk>
168 Flávio Juvenal da Silva Junior <flavio@vinta.com.br>
169 flavio.curella@gmail.com
170 Florian Apolloner <florian@apolloner.eu>
171+ Florian Demmer <fdemmer@gmail.com>
172 Florian Moussous <florian.moussous@gmail.com>
173+ Fran Hrženjak <fran.hrzenjak@gmail.com>
174 Francisco Albarran Cristobal <pahko.xd@gmail.com>
175+ Francisco Couzo <franciscouzo@gmail.com>
176 François Freitag <mail@franek.fr>
177 Frank Tegtmeyer <fte@fte.to>
178 Frank Wierzbicki
179@@ -304,6 +332,7 @@ answer newbie questions, and generally made Django that much better:
180 Gasper Koren
181 Gasper Zejn <zejn@kiberpipa.org>
182 Gavin Wahl <gavinwahl@gmail.com>
183+ Ge Hanbin <xiaomiba0904@gmail.com>
184 geber@datacollect.com
185 Geert Vanderkelen
186 George Karpenkov <george@metaworld.ru>
187@@ -331,8 +360,13 @@ answer newbie questions, and generally made Django that much better:
188 Guillaume Pannatier <guillaume.pannatier@gmail.com>
189 Gustavo Picon
190 hambaloney
191+<<<<<<< AUTHORS
192+=======
193+ Hang Park <hangpark@kaist.ac.kr>
194+>>>>>>> AUTHORS
195 Hannes Ljungberg <hannes.ljungberg@gmail.com>
196 Hannes Struß <x@hannesstruss.de>
197+ Harm Geerts <hgeerts@gmail.com>
198 Hasan Ramezani <hasan.r67@gmail.com>
199 Hawkeye
200 Helen Sherwood-Taylor <helen@rrdlabs.co.uk>
201@@ -345,6 +379,7 @@ answer newbie questions, and generally made Django that much better:
202 Honza Král <honza.kral@gmail.com>
203 Horst Gutmann <zerok@zerokspot.com>
204 Hugo Osvaldo Barrera <hugo@barrera.io>
205+ HyukJin Jang <wkdgurwls00@naver.com>
206 Hyun Mi Ae
207 Iacopo Spalletti <i.spalletti@nephila.it>
208 Ian A Wilson <http://ianawilson.com>
209@@ -361,6 +396,7 @@ answer newbie questions, and generally made Django that much better:
210 Ilya Semenov <semenov@inetss.com>
211 Ingo Klöcker <djangoproject@ingo-kloecker.de>
212 I.S. van Oostveen <v.oostveen@idca.nl>
213+ Iuri de Silvio <https://github.com/iurisilvio>
214 ivan.chelubeev@gmail.com
215 Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>
216 Jaap Roes <jaap.roes@gmail.com>
217@@ -368,6 +404,7 @@ answer newbie questions, and generally made Django that much better:
218 Jacob Burch <jacobburch@gmail.com>
219 Jacob Green
220 Jacob Kaplan-Moss <jacob@jacobian.org>
221+ Jacob Walls <http://www.jacobtylerwalls.com/>
222 Jakub Paczkowski <jakub@paczkowski.eu>
223 Jakub Wilk <jwilk@jwilk.net>
224 Jakub Wiśniowski <restless.being@gmail.com>
225@@ -376,6 +413,8 @@ answer newbie questions, and generally made Django that much better:
226 James Bennett <james@b-list.org>
227 James Murty
228 James Tauber <jtauber@jtauber.com>
229+ James Timmins <jameshtimmins@gmail.com>
230+ James Turk <dev@jamesturk.net>
231 James Wheare <django@sparemint.com>
232 Jannis Leidel <jannis@leidel.info>
233 Janos Guljas
234@@ -420,6 +459,7 @@ answer newbie questions, and generally made Django that much better:
235 Joao Oliveira <joaoxsouls@gmail.com>
236 Joao Pedro Silva <j.pedro004@gmail.com>
237 Joe Heck <http://www.rhonabwy.com/wp/>
238+ Joe Jackson <joe@joejackson.me>
239 Joel Bohman <mail@jbohman.com>
240 Joel Heenan <joelh-django@planetjoel.com>
241 Joel Watts <joel@joelwatts.com>
242@@ -475,6 +515,10 @@ answer newbie questions, and generally made Django that much better:
243 Karen Tracey <kmtracey@gmail.com>
244 Karol Sikora <elektrrrus@gmail.com>
245 Katherine “Kati” Michel <kthrnmichel@gmail.com>
246+<<<<<<< AUTHORS
247+=======
248+ Kathryn Killebrew <kathryn.killebrew@gmail.com>
249+>>>>>>> AUTHORS
250 Katie Miller <katie@sub50.com>
251 Keith Bussell <kbussell@gmail.com>
252 Kenneth Love <kennethlove@gmail.com>
253@@ -484,10 +528,12 @@ answer newbie questions, and generally made Django that much better:
254 Kevin McConnell <kevin.mcconnell@gmail.com>
255 Kieran Holland <http://www.kieranholland.com>
256 kilian <kilian.cavalotti@lip6.fr>
257+ Kim Joon Hwan 김준환 <xncbf12@gmail.com>
258 Klaas van Schelven <klaas@vanschelven.com>
259 knox <christobzr@gmail.com>
260 konrad@gwu.edu
261 Kowito Charoenratchatabhan <kowito@felspar.com>
262+ Krišjānis Vaiders <krisjanisvaiders@gmail.com>
263 krzysiek.pawlik@silvermedia.pl
264 Krzysztof Jurewicz <krzysztof.jurewicz@gmail.com>
265 Krzysztof Kulewski <kulewski@gmail.com>
266@@ -510,6 +556,7 @@ answer newbie questions, and generally made Django that much better:
267 Liang Feng <hutuworm@gmail.com>
268 limodou
269 Lincoln Smith <lincoln.smith@anu.edu.au>
270+ Liu Yijie <007gzs@gmail.com>
271 Loek van Gent <loek@barakken.nl>
272 Loïc Bistuer <loic.bistuer@sixmedia.com>
273 Lowe Thiderman <lowe.thiderman@gmail.com>
274@@ -527,6 +574,7 @@ answer newbie questions, and generally made Django that much better:
275 Mads Jensen <https://github.com/atombrella>
276 Makoto Tsuyuki <mtsuyuki@gmail.com>
277 Malcolm Tredinnick
278+ Manav Agarwal <dpsman13016@gmail.com>
279 Manuel Saelices <msaelices@yaco.es>
280 Manuzhai
281 Marc Aymerich Gubern
282@@ -559,6 +607,7 @@ answer newbie questions, and generally made Django that much better:
283 Martin von Gagern <gagern@google.com>
284 Mart Sõmermaa <http://mrts.pri.ee/>
285 Marty Alchin <gulopine@gamemusic.org>
286+ Masashi Shibata <m.shibata1020@gmail.com>
287 masonsimon+django@gmail.com
288 Massimiliano Ravelli <massimiliano.ravelli@gmail.com>
289 Massimo Scamarcia <massimo.scamarcia@gmail.com>
290@@ -591,7 +640,9 @@ answer newbie questions, and generally made Django that much better:
291 Maximilian Merz <django@mxmerz.de>
292 Maximillian Dornseif <md@hudora.de>
293 mccutchen@gmail.com
294+ Meghana Bhange <meghanabhange13@gmail.com>
295 Meir Kriheli <http://mksoft.co.il/>
296+ Michael S. Brown <michael@msbrown.net>
297 Michael Hall <mhall1@ualberta.ca>
298 Michael Josephson <http://www.sdjournal.com/>
299 Michael Manfre <mmanfre@gmail.com>
300@@ -628,11 +679,13 @@ answer newbie questions, and generally made Django that much better:
301 msundstr
302 Mushtaq Ali <mushtaak@gmail.com>
303 Mykola Zamkovoi <nickzam@gmail.com>
304+ Nadège Michel <michel.nadege@gmail.com>
305 Nagy Károly <charlie@rendszergazda.com>
306 Nasimul Haque <nasim.haque@gmail.com>
307 Nasir Hussain <nasirhjafri@gmail.com>
308 Natalia Bidart <nataliabidart@gmail.com>
309 Nate Bragg <jonathan.bragg@alum.rpi.edu>
310+ Nathan Gaberel <nathan@gnab.fr>
311 Neal Norwitz <nnorwitz@google.com>
312 Nebojša Dorđević
313 Ned Batchelder <https://nedbatchelder.com/>
314@@ -653,6 +706,7 @@ answer newbie questions, and generally made Django that much better:
315 Nis Jørgensen <nis@superlativ.dk>
316 Nowell Strite <https://nowell.strite.org/>
317 Nuno Mariz <nmariz@gmail.com>
318+ Octavio Peri <octaperi@gmail.com>
319 oggie rob <oz.robharvey@gmail.com>
320 oggy <ognjen.maric@gmail.com>
321 Oliver Beattie <oliver@obeattie.com>
322@@ -666,6 +720,7 @@ answer newbie questions, and generally made Django that much better:
323 Owen Griffiths
324 Pablo Martín <goinnn@gmail.com>
325 Panos Laganakos <panos.laganakos@gmail.com>
326+ Paolo Melchiorre <paolo@melchiorre.org>
327 Pascal Hartig <phartig@rdrei.net>
328 Pascal Varet
329 Patrik Sletmo <patrik.sletmo@gmail.com>
330@@ -691,6 +746,7 @@ answer newbie questions, and generally made Django that much better:
331 Peter Zsoldos <http://zsoldosp.eu>
332 Pete Shinners <pete@shinners.org>
333 Petr Marhoun <petr.marhoun@gmail.com>
334+ Petter Strandmark
335 pgross@thoughtworks.com
336 phaedo <http://phaedo.cx/>
337 phil.h.smith@gmail.com
338@@ -707,6 +763,7 @@ answer newbie questions, and generally made Django that much better:
339 Priyansh Saxena <askpriyansh@gmail.com>
340 Przemysław Buczkowski <przemub@przemub.pl>
341 Przemysław Suliga <http://suligap.net>
342+ Qi Zhao <zhaoqi99@outlook.com>
343 Rachel Tobin <rmtobin@me.com>
344 Rachel Willmer <http://www.willmer.com/kb/>
345 Radek Švarz <https://www.svarz.cz/translate/>
346@@ -740,7 +797,9 @@ answer newbie questions, and generally made Django that much better:
347 Roberto Aguilar <roberto@baremetal.io>
348 Robert Rock Howard <http://djangomojo.com/>
349 Robert Wittams
350+ Rob Golding-Day <rob@golding-day.com>
351 Rob Hudson <https://rob.cogit8.org/>
352+ Rob Nguyen <tienrobertnguyenn@gmail.com>
353 Robin Munn <http://www.geekforgod.com/>
354 Rodrigo Pinheiro Marques de Araújo <fenrrir@gmail.com>
355 Romain Garrigues <romain.garrigues.cs@gmail.com>
356@@ -757,8 +816,11 @@ answer newbie questions, and generally made Django that much better:
357 ryankanno
358 Ryan Kelly <ryan@rfk.id.au>
359 Ryan Niemeyer <https://profiles.google.com/ryan.niemeyer/about>
360+ Ryan Petrello <ryan@ryanpetrello.com>
361 Ryan Rubin <ryanmrubin@gmail.com>
362 Ryno Mathee <rmathee@gmail.com>
363+ Sachin Jat <sanch.jat@gmail.com>
364+ Sage M. Abdullah <https://github.com/laymonage>
365 Sam Newman <http://www.magpiebrain.com/>
366 Sander Dijkhuis <sander.dijkhuis@gmail.com>
367 Sanket Saurav <sanketsaurav@gmail.com>
368@@ -767,6 +829,7 @@ answer newbie questions, and generally made Django that much better:
369 schwank@gmail.com
370 Scot Hacker <shacker@birdhouse.org>
371 Scott Barr <scott@divisionbyzero.com.au>
372+ Scott Cranfill <scott@scottcranfill.com>
373 Scott Fitsimones <scott@airgara.ge>
374 Scott Pashley <github@scottpashley.co.uk>
375 scott@staplefish.com
376@@ -799,6 +862,7 @@ answer newbie questions, and generally made Django that much better:
377 sloonz <simon.lipp@insa-lyon.fr>
378 smurf@smurf.noris.de
379 sopel
380+ Sreehari K V <sreeharivijayan619@gmail.com>
381 Srinivas Reddy Thatiparthy <thatiparthysreenivas@gmail.com>
382 Stanislas Guerra <stan@slashdev.me>
383 Stanislaus Madueke
384@@ -841,6 +905,7 @@ answer newbie questions, and generally made Django that much better:
385 Thomas Tanner <tanner@gmx.net>
386 tibimicu@gmx.net
387 Tim Allen <tim@pyphilly.org>
388+ Tim Givois <tim.givois.mendez@gmail.com>
389 Tim Graham <timograham@gmail.com>
390 Tim Heap <tim@timheap.me>
391 Tim Saylor <tim.saylor@gmail.com>
392@@ -848,10 +913,12 @@ answer newbie questions, and generally made Django that much better:
393 Tobias McNulty <https://www.caktusgroup.com/blog/>
394 tobias@neuyork.de
395 Todd O'Bryan <toddobryan@mac.com>
396+ Tom Carrick <https://www.carrick.eu>
397 Tom Christie <tom@tomchristie.com>
398 Tom Forbes <tom@tomforb.es>
399 Tom Insam
400 Tom Tobin
401+ Tom Wojcik <me@tomwojcik.com>
402 Tomáš Ehrlich <tomas.ehrlich@gmail.com>
403 Tomáš Kopeček <permonik@m6.cz>
404 Tome Cvitan <tome@cvitan.com>
405@@ -876,14 +943,18 @@ answer newbie questions, and generally made Django that much better:
406 valtron
407 Vasiliy Stavenko <stavenko@gmail.com>
408 Vasil Vangelovski
409+ Vibhu Agarwal <vibhu-agarwal.github.io>
410 Victor Andrée
411 viestards.lists@gmail.com
412 Viktor Danyliuk <v.v.danyliuk@gmail.com>
413+ Viktor Grabov <viktor@grabov.ru>
414 Ville Säävuori <https://www.unessa.net/>
415 Vinay Karanam <https://github.com/vinayinvicible>
416 Vinay Sajip <vinay_sajip@yahoo.co.uk>
417 Vincent Foley <vfoleybourgon@yahoo.ca>
418+ Vinny Do <vdo.code@gmail.com>
419 Vitaly Babiy <vbabiy86@gmail.com>
420+ Vitaliy Yelnik <velnik@gmail.com>
421 Vladimir Kuzma <vladimirkuzma.ch@gmail.com>
422 Vlado <vlado@labath.org>
423 Vsevolod Solovyov
424@@ -901,6 +972,7 @@ answer newbie questions, and generally made Django that much better:
425 Wilson Miner <wminer@gmail.com>
426 Wim Glenn <hey@wimglenn.com>
427 wojtek
428+ Xavier Francisco <xavier.n.francisco@gmail.com>
429 Xia Kai <https://blog.xiaket.org/>
430 Yann Fouillat <gagaro42@gmail.com>
431 Yann Malet
432@@ -914,11 +986,14 @@ answer newbie questions, and generally made Django that much better:
433 Zach Liu <zachliu@gmail.com>
434 Zach Thompson <zthompson47@gmail.com>
435 Zain Memon
436+ Zain Patel <zain.patel06@gmail.com>
437 Zak Johnson <zakj@nox.cx>
438 Žan Anderle <zan.anderle@gmail.com>
439 Zbigniew Siciarz <zbigniew@siciarz.net>
440 zegor
441+ Zeynel Özdemir <ozdemir.zynl@gmail.com>
442 Zlatko Mašek <zlatko.masek@gmail.com>
443+ zriv <https://github.com/zriv>
444 <Please alphabetize new entries>
445
446 A big THANK YOU goes to:
447diff --git a/Django.egg-info/PKG-INFO b/Django.egg-info/PKG-INFO
448index bfed6be..28bb264 100644
449--- a/Django.egg-info/PKG-INFO
450+++ b/Django.egg-info/PKG-INFO
451@@ -1,16 +1,25 @@
452 Metadata-Version: 2.1
453 Name: Django
454+<<<<<<< Django.egg-info/PKG-INFO
455 Version: 2.2.24
456+=======
457+Version: 3.2.9
458+>>>>>>> Django.egg-info/PKG-INFO
459 Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
460 Home-page: https://www.djangoproject.com/
461 Author: Django Software Foundation
462 Author-email: foundation@djangoproject.com
463-License: BSD
464+License: BSD-3-Clause
465 Project-URL: Documentation, https://docs.djangoproject.com/
466+Project-URL: Release notes, https://docs.djangoproject.com/en/stable/releases/
467 Project-URL: Funding, https://www.djangoproject.com/fundraising/
468 Project-URL: Source, https://github.com/django/django
469 Project-URL: Tracker, https://code.djangoproject.com/
470-Description: Django is a high-level Python Web framework that encourages rapid development
471+Description: ======
472+ Django
473+ ======
474+
475+ Django is a high-level Python Web framework that encourages rapid development
476 and clean, pragmatic design. Thanks for checking it out.
477
478 All documentation is in the "``docs``" directory and online at
479@@ -38,8 +47,12 @@ Description: Django is a high-level Python Web framework that encourages rapid d
480 To get more help:
481
482 * Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people
483+<<<<<<< Django.egg-info/PKG-INFO
484 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're
485 new to IRC.
486+=======
487+ hang out there. See https://web.libera.chat if you're new to IRC.
488+>>>>>>> Django.egg-info/PKG-INFO
489
490 * Join the django-users mailing list, or read the archives, at
491 https://groups.google.com/group/django-users.
492@@ -55,6 +68,13 @@ Description: Django is a high-level Python Web framework that encourages rapid d
493 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at
494 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests
495
496+ Supporting the Development of Django
497+ ====================================
498+
499+ Django's development depends on your contributions.
500+
501+ If you depend on Django, remember to support the Django Software Foundation: https://www.djangoproject.com/fundraising/
502+
503 Platform: UNKNOWN
504 Classifier: Development Status :: 5 - Production/Stable
505 Classifier: Environment :: Web Environment
506@@ -64,17 +84,26 @@ Classifier: License :: OSI Approved :: BSD License
507 Classifier: Operating System :: OS Independent
508 Classifier: Programming Language :: Python
509 Classifier: Programming Language :: Python :: 3
510-Classifier: Programming Language :: Python :: 3.5
511+Classifier: Programming Language :: Python :: 3 :: Only
512 Classifier: Programming Language :: Python :: 3.6
513 Classifier: Programming Language :: Python :: 3.7
514 Classifier: Programming Language :: Python :: 3.8
515 Classifier: Programming Language :: Python :: 3.9
516+<<<<<<< Django.egg-info/PKG-INFO
517 Classifier: Programming Language :: Python :: 3 :: Only
518+=======
519+Classifier: Programming Language :: Python :: 3.10
520+>>>>>>> Django.egg-info/PKG-INFO
521 Classifier: Topic :: Internet :: WWW/HTTP
522 Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
523 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
524 Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
525 Classifier: Topic :: Software Development :: Libraries :: Python Modules
526+<<<<<<< Django.egg-info/PKG-INFO
527 Requires-Python: >=3.5
528+=======
529+Requires-Python: >=3.6
530+Provides-Extra: argon2
531+>>>>>>> Django.egg-info/PKG-INFO
532 Provides-Extra: bcrypt
533 Provides-Extra: argon2
534diff --git a/Django.egg-info/SOURCES.txt b/Django.egg-info/SOURCES.txt
535index 712c72f..b3ead93 100644
536--- a/Django.egg-info/SOURCES.txt
537+++ b/Django.egg-info/SOURCES.txt
538@@ -39,6 +39,10 @@ django/conf/locale/ar/__init__.py
539 django/conf/locale/ar/formats.py
540 django/conf/locale/ar/LC_MESSAGES/django.mo
541 django/conf/locale/ar/LC_MESSAGES/django.po
542+django/conf/locale/ar_DZ/__init__.py
543+django/conf/locale/ar_DZ/formats.py
544+django/conf/locale/ar_DZ/LC_MESSAGES/django.mo
545+django/conf/locale/ar_DZ/LC_MESSAGES/django.po
546 django/conf/locale/ast/LC_MESSAGES/django.mo
547 django/conf/locale/ast/LC_MESSAGES/django.po
548 django/conf/locale/az/__init__.py
549@@ -189,6 +193,10 @@ django/conf/locale/id/__init__.py
550 django/conf/locale/id/formats.py
551 django/conf/locale/id/LC_MESSAGES/django.mo
552 django/conf/locale/id/LC_MESSAGES/django.po
553+django/conf/locale/ig/__init__.py
554+django/conf/locale/ig/formats.py
555+django/conf/locale/ig/LC_MESSAGES/django.mo
556+django/conf/locale/ig/LC_MESSAGES/django.po
557 django/conf/locale/io/LC_MESSAGES/django.mo
558 django/conf/locale/io/LC_MESSAGES/django.po
559 django/conf/locale/is/__init__.py
560@@ -223,6 +231,10 @@ django/conf/locale/ko/__init__.py
561 django/conf/locale/ko/formats.py
562 django/conf/locale/ko/LC_MESSAGES/django.mo
563 django/conf/locale/ko/LC_MESSAGES/django.po
564+django/conf/locale/ky/__init__.py
565+django/conf/locale/ky/formats.py
566+django/conf/locale/ky/LC_MESSAGES/django.mo
567+django/conf/locale/ky/LC_MESSAGES/django.po
568 django/conf/locale/lb/LC_MESSAGES/django.mo
569 django/conf/locale/lb/LC_MESSAGES/django.po
570 django/conf/locale/lt/__init__.py
571@@ -321,10 +333,18 @@ django/conf/locale/te/__init__.py
572 django/conf/locale/te/formats.py
573 django/conf/locale/te/LC_MESSAGES/django.mo
574 django/conf/locale/te/LC_MESSAGES/django.po
575+django/conf/locale/tg/__init__.py
576+django/conf/locale/tg/formats.py
577+django/conf/locale/tg/LC_MESSAGES/django.mo
578+django/conf/locale/tg/LC_MESSAGES/django.po
579 django/conf/locale/th/__init__.py
580 django/conf/locale/th/formats.py
581 django/conf/locale/th/LC_MESSAGES/django.mo
582 django/conf/locale/th/LC_MESSAGES/django.po
583+django/conf/locale/tk/__init__.py
584+django/conf/locale/tk/formats.py
585+django/conf/locale/tk/LC_MESSAGES/django.mo
586+django/conf/locale/tk/LC_MESSAGES/django.po
587 django/conf/locale/tr/__init__.py
588 django/conf/locale/tr/formats.py
589 django/conf/locale/tr/LC_MESSAGES/django.mo
590@@ -339,6 +359,10 @@ django/conf/locale/uk/LC_MESSAGES/django.mo
591 django/conf/locale/uk/LC_MESSAGES/django.po
592 django/conf/locale/ur/LC_MESSAGES/django.mo
593 django/conf/locale/ur/LC_MESSAGES/django.po
594+django/conf/locale/uz/__init__.py
595+django/conf/locale/uz/formats.py
596+django/conf/locale/uz/LC_MESSAGES/django.mo
597+django/conf/locale/uz/LC_MESSAGES/django.po
598 django/conf/locale/vi/__init__.py
599 django/conf/locale/vi/formats.py
600 django/conf/locale/vi/LC_MESSAGES/django.mo
601@@ -353,6 +377,7 @@ django/conf/locale/zh_Hant/LC_MESSAGES/django.mo
602 django/conf/locale/zh_Hant/LC_MESSAGES/django.po
603 django/conf/project_template/manage.py-tpl
604 django/conf/project_template/project_name/__init__.py-tpl
605+django/conf/project_template/project_name/asgi.py-tpl
606 django/conf/project_template/project_name/settings.py-tpl
607 django/conf/project_template/project_name/urls.py-tpl
608 django/conf/project_template/project_name/wsgi.py-tpl
609@@ -385,6 +410,10 @@ django/contrib/admin/locale/ar/LC_MESSAGES/django.mo
610 django/contrib/admin/locale/ar/LC_MESSAGES/django.po
611 django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo
612 django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po
613+django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.mo
614+django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po
615+django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.mo
616+django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po
617 django/contrib/admin/locale/ast/LC_MESSAGES/django.mo
618 django/contrib/admin/locale/ast/LC_MESSAGES/django.po
619 django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo
620@@ -585,6 +614,10 @@ django/contrib/admin/locale/ko/LC_MESSAGES/django.mo
621 django/contrib/admin/locale/ko/LC_MESSAGES/django.po
622 django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo
623 django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po
624+django/contrib/admin/locale/ky/LC_MESSAGES/django.mo
625+django/contrib/admin/locale/ky/LC_MESSAGES/django.po
626+django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.mo
627+django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po
628 django/contrib/admin/locale/lb/LC_MESSAGES/django.mo
629 django/contrib/admin/locale/lb/LC_MESSAGES/django.po
630 django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo
631@@ -697,6 +730,10 @@ django/contrib/admin/locale/te/LC_MESSAGES/django.mo
632 django/contrib/admin/locale/te/LC_MESSAGES/django.po
633 django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo
634 django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po
635+django/contrib/admin/locale/tg/LC_MESSAGES/django.mo
636+django/contrib/admin/locale/tg/LC_MESSAGES/django.po
637+django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.mo
638+django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po
639 django/contrib/admin/locale/th/LC_MESSAGES/django.mo
640 django/contrib/admin/locale/th/LC_MESSAGES/django.po
641 django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo
642@@ -721,6 +758,10 @@ django/contrib/admin/locale/ur/LC_MESSAGES/django.mo
643 django/contrib/admin/locale/ur/LC_MESSAGES/django.po
644 django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo
645 django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po
646+django/contrib/admin/locale/uz/LC_MESSAGES/django.mo
647+django/contrib/admin/locale/uz/LC_MESSAGES/django.po
648+django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.mo
649+django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po
650 django/contrib/admin/locale/vi/LC_MESSAGES/django.mo
651 django/contrib/admin/locale/vi/LC_MESSAGES/django.po
652 django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo
653@@ -744,6 +785,7 @@ django/contrib/admin/static/admin/css/dashboard.css
654 django/contrib/admin/static/admin/css/fonts.css
655 django/contrib/admin/static/admin/css/forms.css
656 django/contrib/admin/static/admin/css/login.css
657+django/contrib/admin/static/admin/css/nav_sidebar.css
658 django/contrib/admin/static/admin/css/responsive.css
659 django/contrib/admin/static/admin/css/responsive_rtl.css
660 django/contrib/admin/static/admin/css/rtl.css
661@@ -781,22 +823,18 @@ django/contrib/admin/static/admin/img/gis/move_vertex_on.svg
662 django/contrib/admin/static/admin/js/SelectBox.js
663 django/contrib/admin/static/admin/js/SelectFilter2.js
664 django/contrib/admin/static/admin/js/actions.js
665-django/contrib/admin/static/admin/js/actions.min.js
666 django/contrib/admin/static/admin/js/autocomplete.js
667 django/contrib/admin/static/admin/js/calendar.js
668 django/contrib/admin/static/admin/js/cancel.js
669 django/contrib/admin/static/admin/js/change_form.js
670 django/contrib/admin/static/admin/js/collapse.js
671-django/contrib/admin/static/admin/js/collapse.min.js
672 django/contrib/admin/static/admin/js/core.js
673 django/contrib/admin/static/admin/js/inlines.js
674-django/contrib/admin/static/admin/js/inlines.min.js
675 django/contrib/admin/static/admin/js/jquery.init.js
676+django/contrib/admin/static/admin/js/nav_sidebar.js
677 django/contrib/admin/static/admin/js/popup_response.js
678 django/contrib/admin/static/admin/js/prepopulate.js
679-django/contrib/admin/static/admin/js/prepopulate.min.js
680 django/contrib/admin/static/admin/js/prepopulate_init.js
681-django/contrib/admin/static/admin/js/timeparse.js
682 django/contrib/admin/static/admin/js/urlify.js
683 django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
684 django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
685@@ -806,13 +844,17 @@ django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js
686 django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
687 django/contrib/admin/static/admin/js/vendor/select2/select2.full.js
688 django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js
689+django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js
690 django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js
691 django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js
692 django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js
693+django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js
694+django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js
695 django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js
696 django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js
697 django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js
698 django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js
699+django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js
700 django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js
701 django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js
702 django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js
703@@ -825,11 +867,14 @@ django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js
704 django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js
705 django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js
706 django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js
707+django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js
708 django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js
709+django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js
710 django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js
711 django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js
712 django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js
713 django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js
714+django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js
715 django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js
716 django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js
717 django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js
718@@ -837,17 +882,22 @@ django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js
719 django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js
720 django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js
721 django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js
722+django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js
723 django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js
724 django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js
725+django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js
726 django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js
727 django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js
728 django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js
729 django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js
730 django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js
731+django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js
732+django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js
733 django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
734 django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js
735 django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js
736 django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js
737+django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js
738 django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js
739 django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js
740 django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js
741@@ -860,6 +910,7 @@ django/contrib/admin/templates/admin/404.html
742 django/contrib/admin/templates/admin/500.html
743 django/contrib/admin/templates/admin/actions.html
744 django/contrib/admin/templates/admin/app_index.html
745+django/contrib/admin/templates/admin/app_list.html
746 django/contrib/admin/templates/admin/base.html
747 django/contrib/admin/templates/admin/base_site.html
748 django/contrib/admin/templates/admin/change_form.html
749@@ -874,6 +925,7 @@ django/contrib/admin/templates/admin/filter.html
750 django/contrib/admin/templates/admin/index.html
751 django/contrib/admin/templates/admin/invalid_setup.html
752 django/contrib/admin/templates/admin/login.html
753+django/contrib/admin/templates/admin/nav_sidebar.html
754 django/contrib/admin/templates/admin/object_history.html
755 django/contrib/admin/templates/admin/pagination.html
756 django/contrib/admin/templates/admin/popup_response.html
757@@ -904,7 +956,6 @@ django/contrib/admin/templates/registration/password_reset_form.html
758 django/contrib/admin/templatetags/__init__.py
759 django/contrib/admin/templatetags/admin_list.py
760 django/contrib/admin/templatetags/admin_modify.py
761-django/contrib/admin/templatetags/admin_static.py
762 django/contrib/admin/templatetags/admin_urls.py
763 django/contrib/admin/templatetags/base.py
764 django/contrib/admin/templatetags/log.py
765@@ -922,6 +973,8 @@ django/contrib/admindocs/locale/af/LC_MESSAGES/django.mo
766 django/contrib/admindocs/locale/af/LC_MESSAGES/django.po
767 django/contrib/admindocs/locale/ar/LC_MESSAGES/django.mo
768 django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po
769+django/contrib/admindocs/locale/ar_DZ/LC_MESSAGES/django.mo
770+django/contrib/admindocs/locale/ar_DZ/LC_MESSAGES/django.po
771 django/contrib/admindocs/locale/ast/LC_MESSAGES/django.mo
772 django/contrib/admindocs/locale/ast/LC_MESSAGES/django.po
773 django/contrib/admindocs/locale/az/LC_MESSAGES/django.mo
774@@ -1020,6 +1073,8 @@ django/contrib/admindocs/locale/kn/LC_MESSAGES/django.mo
775 django/contrib/admindocs/locale/kn/LC_MESSAGES/django.po
776 django/contrib/admindocs/locale/ko/LC_MESSAGES/django.mo
777 django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po
778+django/contrib/admindocs/locale/ky/LC_MESSAGES/django.mo
779+django/contrib/admindocs/locale/ky/LC_MESSAGES/django.po
780 django/contrib/admindocs/locale/lb/LC_MESSAGES/django.mo
781 django/contrib/admindocs/locale/lb/LC_MESSAGES/django.po
782 django/contrib/admindocs/locale/lt/LC_MESSAGES/django.mo
783@@ -1076,6 +1131,8 @@ django/contrib/admindocs/locale/ta/LC_MESSAGES/django.mo
784 django/contrib/admindocs/locale/ta/LC_MESSAGES/django.po
785 django/contrib/admindocs/locale/te/LC_MESSAGES/django.mo
786 django/contrib/admindocs/locale/te/LC_MESSAGES/django.po
787+django/contrib/admindocs/locale/tg/LC_MESSAGES/django.mo
788+django/contrib/admindocs/locale/tg/LC_MESSAGES/django.po
789 django/contrib/admindocs/locale/th/LC_MESSAGES/django.mo
790 django/contrib/admindocs/locale/th/LC_MESSAGES/django.po
791 django/contrib/admindocs/locale/tr/LC_MESSAGES/django.mo
792@@ -1130,6 +1187,8 @@ django/contrib/auth/locale/af/LC_MESSAGES/django.mo
793 django/contrib/auth/locale/af/LC_MESSAGES/django.po
794 django/contrib/auth/locale/ar/LC_MESSAGES/django.mo
795 django/contrib/auth/locale/ar/LC_MESSAGES/django.po
796+django/contrib/auth/locale/ar_DZ/LC_MESSAGES/django.mo
797+django/contrib/auth/locale/ar_DZ/LC_MESSAGES/django.po
798 django/contrib/auth/locale/ast/LC_MESSAGES/django.mo
799 django/contrib/auth/locale/ast/LC_MESSAGES/django.po
800 django/contrib/auth/locale/az/LC_MESSAGES/django.mo
801@@ -1230,6 +1289,8 @@ django/contrib/auth/locale/kn/LC_MESSAGES/django.mo
802 django/contrib/auth/locale/kn/LC_MESSAGES/django.po
803 django/contrib/auth/locale/ko/LC_MESSAGES/django.mo
804 django/contrib/auth/locale/ko/LC_MESSAGES/django.po
805+django/contrib/auth/locale/ky/LC_MESSAGES/django.mo
806+django/contrib/auth/locale/ky/LC_MESSAGES/django.po
807 django/contrib/auth/locale/lb/LC_MESSAGES/django.mo
808 django/contrib/auth/locale/lb/LC_MESSAGES/django.po
809 django/contrib/auth/locale/lt/LC_MESSAGES/django.mo
810@@ -1286,8 +1347,12 @@ django/contrib/auth/locale/ta/LC_MESSAGES/django.mo
811 django/contrib/auth/locale/ta/LC_MESSAGES/django.po
812 django/contrib/auth/locale/te/LC_MESSAGES/django.mo
813 django/contrib/auth/locale/te/LC_MESSAGES/django.po
814+django/contrib/auth/locale/tg/LC_MESSAGES/django.mo
815+django/contrib/auth/locale/tg/LC_MESSAGES/django.po
816 django/contrib/auth/locale/th/LC_MESSAGES/django.mo
817 django/contrib/auth/locale/th/LC_MESSAGES/django.po
818+django/contrib/auth/locale/tk/LC_MESSAGES/django.mo
819+django/contrib/auth/locale/tk/LC_MESSAGES/django.po
820 django/contrib/auth/locale/tr/LC_MESSAGES/django.mo
821 django/contrib/auth/locale/tr/LC_MESSAGES/django.po
822 django/contrib/auth/locale/tt/LC_MESSAGES/django.mo
823@@ -1298,6 +1363,8 @@ django/contrib/auth/locale/uk/LC_MESSAGES/django.mo
824 django/contrib/auth/locale/uk/LC_MESSAGES/django.po
825 django/contrib/auth/locale/ur/LC_MESSAGES/django.mo
826 django/contrib/auth/locale/ur/LC_MESSAGES/django.po
827+django/contrib/auth/locale/uz/LC_MESSAGES/django.mo
828+django/contrib/auth/locale/uz/LC_MESSAGES/django.po
829 django/contrib/auth/locale/vi/LC_MESSAGES/django.mo
830 django/contrib/auth/locale/vi/LC_MESSAGES/django.po
831 django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.mo
832@@ -1305,6 +1372,7 @@ django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po
833 django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.mo
834 django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po
835 django/contrib/auth/management/__init__.py
836+django/contrib/auth/management/commands/__init__.py
837 django/contrib/auth/management/commands/changepassword.py
838 django/contrib/auth/management/commands/createsuperuser.py
839 django/contrib/auth/migrations/0001_initial.py
840@@ -1318,6 +1386,7 @@ django/contrib/auth/migrations/0008_alter_user_username_max_length.py
841 django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py
842 django/contrib/auth/migrations/0010_alter_group_name_max_length.py
843 django/contrib/auth/migrations/0011_update_proxy_permissions.py
844+django/contrib/auth/migrations/0012_alter_user_first_name_max_length.py
845 django/contrib/auth/migrations/__init__.py
846 django/contrib/auth/templates/auth/widgets/read_only_password_hash.html
847 django/contrib/auth/templates/registration/password_reset_subject.txt
848@@ -1333,6 +1402,8 @@ django/contrib/contenttypes/locale/af/LC_MESSAGES/django.mo
849 django/contrib/contenttypes/locale/af/LC_MESSAGES/django.po
850 django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.mo
851 django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po
852+django/contrib/contenttypes/locale/ar_DZ/LC_MESSAGES/django.mo
853+django/contrib/contenttypes/locale/ar_DZ/LC_MESSAGES/django.po
854 django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.mo
855 django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.po
856 django/contrib/contenttypes/locale/az/LC_MESSAGES/django.mo
857@@ -1431,6 +1502,8 @@ django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.mo
858 django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.po
859 django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.mo
860 django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po
861+django/contrib/contenttypes/locale/ky/LC_MESSAGES/django.mo
862+django/contrib/contenttypes/locale/ky/LC_MESSAGES/django.po
863 django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.mo
864 django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.po
865 django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.mo
866@@ -1487,8 +1560,12 @@ django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.mo
867 django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.po
868 django/contrib/contenttypes/locale/te/LC_MESSAGES/django.mo
869 django/contrib/contenttypes/locale/te/LC_MESSAGES/django.po
870+django/contrib/contenttypes/locale/tg/LC_MESSAGES/django.mo
871+django/contrib/contenttypes/locale/tg/LC_MESSAGES/django.po
872 django/contrib/contenttypes/locale/th/LC_MESSAGES/django.mo
873 django/contrib/contenttypes/locale/th/LC_MESSAGES/django.po
874+django/contrib/contenttypes/locale/tk/LC_MESSAGES/django.mo
875+django/contrib/contenttypes/locale/tk/LC_MESSAGES/django.po
876 django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.mo
877 django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po
878 django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.mo
879@@ -1506,6 +1583,7 @@ django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po
880 django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.mo
881 django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po
882 django/contrib/contenttypes/management/__init__.py
883+django/contrib/contenttypes/management/commands/__init__.py
884 django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py
885 django/contrib/contenttypes/migrations/0001_initial.py
886 django/contrib/contenttypes/migrations/0002_remove_content_type_name.py
887@@ -1523,6 +1601,8 @@ django/contrib/flatpages/locale/af/LC_MESSAGES/django.mo
888 django/contrib/flatpages/locale/af/LC_MESSAGES/django.po
889 django/contrib/flatpages/locale/ar/LC_MESSAGES/django.mo
890 django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po
891+django/contrib/flatpages/locale/ar_DZ/LC_MESSAGES/django.mo
892+django/contrib/flatpages/locale/ar_DZ/LC_MESSAGES/django.po
893 django/contrib/flatpages/locale/ast/LC_MESSAGES/django.mo
894 django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po
895 django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo
896@@ -1621,6 +1701,8 @@ django/contrib/flatpages/locale/kn/LC_MESSAGES/django.mo
897 django/contrib/flatpages/locale/kn/LC_MESSAGES/django.po
898 django/contrib/flatpages/locale/ko/LC_MESSAGES/django.mo
899 django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po
900+django/contrib/flatpages/locale/ky/LC_MESSAGES/django.mo
901+django/contrib/flatpages/locale/ky/LC_MESSAGES/django.po
902 django/contrib/flatpages/locale/lb/LC_MESSAGES/django.mo
903 django/contrib/flatpages/locale/lb/LC_MESSAGES/django.po
904 django/contrib/flatpages/locale/lt/LC_MESSAGES/django.mo
905@@ -1677,8 +1759,12 @@ django/contrib/flatpages/locale/ta/LC_MESSAGES/django.mo
906 django/contrib/flatpages/locale/ta/LC_MESSAGES/django.po
907 django/contrib/flatpages/locale/te/LC_MESSAGES/django.mo
908 django/contrib/flatpages/locale/te/LC_MESSAGES/django.po
909+django/contrib/flatpages/locale/tg/LC_MESSAGES/django.mo
910+django/contrib/flatpages/locale/tg/LC_MESSAGES/django.po
911 django/contrib/flatpages/locale/th/LC_MESSAGES/django.mo
912 django/contrib/flatpages/locale/th/LC_MESSAGES/django.po
913+django/contrib/flatpages/locale/tk/LC_MESSAGES/django.mo
914+django/contrib/flatpages/locale/tk/LC_MESSAGES/django.po
915 django/contrib/flatpages/locale/tr/LC_MESSAGES/django.mo
916 django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po
917 django/contrib/flatpages/locale/tt/LC_MESSAGES/django.mo
918@@ -1820,6 +1906,8 @@ django/contrib/gis/locale/af/LC_MESSAGES/django.mo
919 django/contrib/gis/locale/af/LC_MESSAGES/django.po
920 django/contrib/gis/locale/ar/LC_MESSAGES/django.mo
921 django/contrib/gis/locale/ar/LC_MESSAGES/django.po
922+django/contrib/gis/locale/ar_DZ/LC_MESSAGES/django.mo
923+django/contrib/gis/locale/ar_DZ/LC_MESSAGES/django.po
924 django/contrib/gis/locale/ast/LC_MESSAGES/django.mo
925 django/contrib/gis/locale/ast/LC_MESSAGES/django.po
926 django/contrib/gis/locale/az/LC_MESSAGES/django.mo
927@@ -1918,6 +2006,8 @@ django/contrib/gis/locale/kn/LC_MESSAGES/django.mo
928 django/contrib/gis/locale/kn/LC_MESSAGES/django.po
929 django/contrib/gis/locale/ko/LC_MESSAGES/django.mo
930 django/contrib/gis/locale/ko/LC_MESSAGES/django.po
931+django/contrib/gis/locale/ky/LC_MESSAGES/django.mo
932+django/contrib/gis/locale/ky/LC_MESSAGES/django.po
933 django/contrib/gis/locale/lb/LC_MESSAGES/django.mo
934 django/contrib/gis/locale/lb/LC_MESSAGES/django.po
935 django/contrib/gis/locale/lt/LC_MESSAGES/django.mo
936@@ -1974,6 +2064,8 @@ django/contrib/gis/locale/ta/LC_MESSAGES/django.mo
937 django/contrib/gis/locale/ta/LC_MESSAGES/django.po
938 django/contrib/gis/locale/te/LC_MESSAGES/django.mo
939 django/contrib/gis/locale/te/LC_MESSAGES/django.po
940+django/contrib/gis/locale/tg/LC_MESSAGES/django.mo
941+django/contrib/gis/locale/tg/LC_MESSAGES/django.po
942 django/contrib/gis/locale/th/LC_MESSAGES/django.mo
943 django/contrib/gis/locale/th/LC_MESSAGES/django.po
944 django/contrib/gis/locale/tr/LC_MESSAGES/django.mo
945@@ -1992,6 +2084,8 @@ django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.mo
946 django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po
947 django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.mo
948 django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po
949+django/contrib/gis/management/__init__.py
950+django/contrib/gis/management/commands/__init__.py
951 django/contrib/gis/management/commands/inspectdb.py
952 django/contrib/gis/management/commands/ogrinspect.py
953 django/contrib/gis/serializers/__init__.py
954@@ -2026,6 +2120,8 @@ django/contrib/humanize/locale/af/LC_MESSAGES/django.mo
955 django/contrib/humanize/locale/af/LC_MESSAGES/django.po
956 django/contrib/humanize/locale/ar/LC_MESSAGES/django.mo
957 django/contrib/humanize/locale/ar/LC_MESSAGES/django.po
958+django/contrib/humanize/locale/ar_DZ/LC_MESSAGES/django.mo
959+django/contrib/humanize/locale/ar_DZ/LC_MESSAGES/django.po
960 django/contrib/humanize/locale/ast/LC_MESSAGES/django.mo
961 django/contrib/humanize/locale/ast/LC_MESSAGES/django.po
962 django/contrib/humanize/locale/az/LC_MESSAGES/django.mo
963@@ -2124,6 +2220,8 @@ django/contrib/humanize/locale/kn/LC_MESSAGES/django.mo
964 django/contrib/humanize/locale/kn/LC_MESSAGES/django.po
965 django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo
966 django/contrib/humanize/locale/ko/LC_MESSAGES/django.po
967+django/contrib/humanize/locale/ky/LC_MESSAGES/django.mo
968+django/contrib/humanize/locale/ky/LC_MESSAGES/django.po
969 django/contrib/humanize/locale/lb/LC_MESSAGES/django.mo
970 django/contrib/humanize/locale/lb/LC_MESSAGES/django.po
971 django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo
972@@ -2182,6 +2280,8 @@ django/contrib/humanize/locale/ta/LC_MESSAGES/django.mo
973 django/contrib/humanize/locale/ta/LC_MESSAGES/django.po
974 django/contrib/humanize/locale/te/LC_MESSAGES/django.mo
975 django/contrib/humanize/locale/te/LC_MESSAGES/django.po
976+django/contrib/humanize/locale/tg/LC_MESSAGES/django.mo
977+django/contrib/humanize/locale/tg/LC_MESSAGES/django.po
978 django/contrib/humanize/locale/th/LC_MESSAGES/django.mo
979 django/contrib/humanize/locale/th/LC_MESSAGES/django.po
980 django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo
981@@ -2194,6 +2294,8 @@ django/contrib/humanize/locale/uk/LC_MESSAGES/django.mo
982 django/contrib/humanize/locale/uk/LC_MESSAGES/django.po
983 django/contrib/humanize/locale/ur/LC_MESSAGES/django.mo
984 django/contrib/humanize/locale/ur/LC_MESSAGES/django.po
985+django/contrib/humanize/locale/uz/LC_MESSAGES/django.mo
986+django/contrib/humanize/locale/uz/LC_MESSAGES/django.po
987 django/contrib/humanize/locale/vi/LC_MESSAGES/django.mo
988 django/contrib/humanize/locale/vi/LC_MESSAGES/django.po
989 django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.mo
990@@ -2217,6 +2319,7 @@ django/contrib/messages/storage/fallback.py
991 django/contrib/messages/storage/session.py
992 django/contrib/postgres/__init__.py
993 django/contrib/postgres/apps.py
994+django/contrib/postgres/constraints.py
995 django/contrib/postgres/functions.py
996 django/contrib/postgres/indexes.py
997 django/contrib/postgres/lookups.py
998@@ -2235,7 +2338,6 @@ django/contrib/postgres/fields/array.py
999 django/contrib/postgres/fields/citext.py
1000 django/contrib/postgres/fields/hstore.py
1001 django/contrib/postgres/fields/jsonb.py
1002-django/contrib/postgres/fields/mixins.py
1003 django/contrib/postgres/fields/ranges.py
1004 django/contrib/postgres/fields/utils.py
1005 django/contrib/postgres/forms/__init__.py
1006@@ -2248,6 +2350,8 @@ django/contrib/postgres/locale/af/LC_MESSAGES/django.mo
1007 django/contrib/postgres/locale/af/LC_MESSAGES/django.po
1008 django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo
1009 django/contrib/postgres/locale/ar/LC_MESSAGES/django.po
1010+django/contrib/postgres/locale/ar_DZ/LC_MESSAGES/django.mo
1011+django/contrib/postgres/locale/ar_DZ/LC_MESSAGES/django.po
1012 django/contrib/postgres/locale/az/LC_MESSAGES/django.mo
1013 django/contrib/postgres/locale/az/LC_MESSAGES/django.po
1014 django/contrib/postgres/locale/be/LC_MESSAGES/django.mo
1015@@ -2318,12 +2422,16 @@ django/contrib/postgres/locale/kk/LC_MESSAGES/django.mo
1016 django/contrib/postgres/locale/kk/LC_MESSAGES/django.po
1017 django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo
1018 django/contrib/postgres/locale/ko/LC_MESSAGES/django.po
1019+django/contrib/postgres/locale/ky/LC_MESSAGES/django.mo
1020+django/contrib/postgres/locale/ky/LC_MESSAGES/django.po
1021 django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo
1022 django/contrib/postgres/locale/lt/LC_MESSAGES/django.po
1023 django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo
1024 django/contrib/postgres/locale/lv/LC_MESSAGES/django.po
1025 django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo
1026 django/contrib/postgres/locale/mk/LC_MESSAGES/django.po
1027+django/contrib/postgres/locale/ml/LC_MESSAGES/django.mo
1028+django/contrib/postgres/locale/ml/LC_MESSAGES/django.po
1029 django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo
1030 django/contrib/postgres/locale/mn/LC_MESSAGES/django.po
1031 django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo
1032@@ -2354,10 +2462,16 @@ django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.mo
1033 django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.po
1034 django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo
1035 django/contrib/postgres/locale/sv/LC_MESSAGES/django.po
1036+django/contrib/postgres/locale/tg/LC_MESSAGES/django.mo
1037+django/contrib/postgres/locale/tg/LC_MESSAGES/django.po
1038+django/contrib/postgres/locale/tk/LC_MESSAGES/django.mo
1039+django/contrib/postgres/locale/tk/LC_MESSAGES/django.po
1040 django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo
1041 django/contrib/postgres/locale/tr/LC_MESSAGES/django.po
1042 django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo
1043 django/contrib/postgres/locale/uk/LC_MESSAGES/django.po
1044+django/contrib/postgres/locale/uz/LC_MESSAGES/django.mo
1045+django/contrib/postgres/locale/uz/LC_MESSAGES/django.po
1046 django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo
1047 django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po
1048 django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.mo
1049@@ -2372,6 +2486,8 @@ django/contrib/redirects/locale/af/LC_MESSAGES/django.mo
1050 django/contrib/redirects/locale/af/LC_MESSAGES/django.po
1051 django/contrib/redirects/locale/ar/LC_MESSAGES/django.mo
1052 django/contrib/redirects/locale/ar/LC_MESSAGES/django.po
1053+django/contrib/redirects/locale/ar_DZ/LC_MESSAGES/django.mo
1054+django/contrib/redirects/locale/ar_DZ/LC_MESSAGES/django.po
1055 django/contrib/redirects/locale/ast/LC_MESSAGES/django.mo
1056 django/contrib/redirects/locale/ast/LC_MESSAGES/django.po
1057 django/contrib/redirects/locale/az/LC_MESSAGES/django.mo
1058@@ -2472,6 +2588,8 @@ django/contrib/redirects/locale/kn/LC_MESSAGES/django.mo
1059 django/contrib/redirects/locale/kn/LC_MESSAGES/django.po
1060 django/contrib/redirects/locale/ko/LC_MESSAGES/django.mo
1061 django/contrib/redirects/locale/ko/LC_MESSAGES/django.po
1062+django/contrib/redirects/locale/ky/LC_MESSAGES/django.mo
1063+django/contrib/redirects/locale/ky/LC_MESSAGES/django.po
1064 django/contrib/redirects/locale/lb/LC_MESSAGES/django.mo
1065 django/contrib/redirects/locale/lb/LC_MESSAGES/django.po
1066 django/contrib/redirects/locale/lt/LC_MESSAGES/django.mo
1067@@ -2528,8 +2646,12 @@ django/contrib/redirects/locale/ta/LC_MESSAGES/django.mo
1068 django/contrib/redirects/locale/ta/LC_MESSAGES/django.po
1069 django/contrib/redirects/locale/te/LC_MESSAGES/django.mo
1070 django/contrib/redirects/locale/te/LC_MESSAGES/django.po
1071+django/contrib/redirects/locale/tg/LC_MESSAGES/django.mo
1072+django/contrib/redirects/locale/tg/LC_MESSAGES/django.po
1073 django/contrib/redirects/locale/th/LC_MESSAGES/django.mo
1074 django/contrib/redirects/locale/th/LC_MESSAGES/django.po
1075+django/contrib/redirects/locale/tk/LC_MESSAGES/django.mo
1076+django/contrib/redirects/locale/tk/LC_MESSAGES/django.po
1077 django/contrib/redirects/locale/tr/LC_MESSAGES/django.mo
1078 django/contrib/redirects/locale/tr/LC_MESSAGES/django.po
1079 django/contrib/redirects/locale/tt/LC_MESSAGES/django.mo
1080@@ -2549,6 +2671,7 @@ django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po
1081 django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.mo
1082 django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po
1083 django/contrib/redirects/migrations/0001_initial.py
1084+django/contrib/redirects/migrations/0002_alter_redirect_new_path_help_text.py
1085 django/contrib/redirects/migrations/__init__.py
1086 django/contrib/sessions/__init__.py
1087 django/contrib/sessions/apps.py
1088@@ -2568,6 +2691,8 @@ django/contrib/sessions/locale/af/LC_MESSAGES/django.mo
1089 django/contrib/sessions/locale/af/LC_MESSAGES/django.po
1090 django/contrib/sessions/locale/ar/LC_MESSAGES/django.mo
1091 django/contrib/sessions/locale/ar/LC_MESSAGES/django.po
1092+django/contrib/sessions/locale/ar_DZ/LC_MESSAGES/django.mo
1093+django/contrib/sessions/locale/ar_DZ/LC_MESSAGES/django.po
1094 django/contrib/sessions/locale/ast/LC_MESSAGES/django.mo
1095 django/contrib/sessions/locale/ast/LC_MESSAGES/django.po
1096 django/contrib/sessions/locale/az/LC_MESSAGES/django.mo
1097@@ -2668,6 +2793,8 @@ django/contrib/sessions/locale/kn/LC_MESSAGES/django.mo
1098 django/contrib/sessions/locale/kn/LC_MESSAGES/django.po
1099 django/contrib/sessions/locale/ko/LC_MESSAGES/django.mo
1100 django/contrib/sessions/locale/ko/LC_MESSAGES/django.po
1101+django/contrib/sessions/locale/ky/LC_MESSAGES/django.mo
1102+django/contrib/sessions/locale/ky/LC_MESSAGES/django.po
1103 django/contrib/sessions/locale/lb/LC_MESSAGES/django.mo
1104 django/contrib/sessions/locale/lb/LC_MESSAGES/django.po
1105 django/contrib/sessions/locale/lt/LC_MESSAGES/django.mo
1106@@ -2724,8 +2851,12 @@ django/contrib/sessions/locale/ta/LC_MESSAGES/django.mo
1107 django/contrib/sessions/locale/ta/LC_MESSAGES/django.po
1108 django/contrib/sessions/locale/te/LC_MESSAGES/django.mo
1109 django/contrib/sessions/locale/te/LC_MESSAGES/django.po
1110+django/contrib/sessions/locale/tg/LC_MESSAGES/django.mo
1111+django/contrib/sessions/locale/tg/LC_MESSAGES/django.po
1112 django/contrib/sessions/locale/th/LC_MESSAGES/django.mo
1113 django/contrib/sessions/locale/th/LC_MESSAGES/django.po
1114+django/contrib/sessions/locale/tk/LC_MESSAGES/django.mo
1115+django/contrib/sessions/locale/tk/LC_MESSAGES/django.po
1116 django/contrib/sessions/locale/tr/LC_MESSAGES/django.mo
1117 django/contrib/sessions/locale/tr/LC_MESSAGES/django.po
1118 django/contrib/sessions/locale/tt/LC_MESSAGES/django.mo
1119@@ -2744,18 +2875,23 @@ django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.mo
1120 django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po
1121 django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.mo
1122 django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po
1123+django/contrib/sessions/management/__init__.py
1124+django/contrib/sessions/management/commands/__init__.py
1125 django/contrib/sessions/management/commands/clearsessions.py
1126 django/contrib/sessions/migrations/0001_initial.py
1127 django/contrib/sessions/migrations/__init__.py
1128 django/contrib/sitemaps/__init__.py
1129 django/contrib/sitemaps/apps.py
1130 django/contrib/sitemaps/views.py
1131+django/contrib/sitemaps/management/__init__.py
1132+django/contrib/sitemaps/management/commands/__init__.py
1133 django/contrib/sitemaps/management/commands/ping_google.py
1134 django/contrib/sitemaps/templates/sitemap.xml
1135 django/contrib/sitemaps/templates/sitemap_index.xml
1136 django/contrib/sites/__init__.py
1137 django/contrib/sites/admin.py
1138 django/contrib/sites/apps.py
1139+django/contrib/sites/checks.py
1140 django/contrib/sites/management.py
1141 django/contrib/sites/managers.py
1142 django/contrib/sites/middleware.py
1143@@ -2766,6 +2902,8 @@ django/contrib/sites/locale/af/LC_MESSAGES/django.mo
1144 django/contrib/sites/locale/af/LC_MESSAGES/django.po
1145 django/contrib/sites/locale/ar/LC_MESSAGES/django.mo
1146 django/contrib/sites/locale/ar/LC_MESSAGES/django.po
1147+django/contrib/sites/locale/ar_DZ/LC_MESSAGES/django.mo
1148+django/contrib/sites/locale/ar_DZ/LC_MESSAGES/django.po
1149 django/contrib/sites/locale/ast/LC_MESSAGES/django.mo
1150 django/contrib/sites/locale/ast/LC_MESSAGES/django.po
1151 django/contrib/sites/locale/az/LC_MESSAGES/django.mo
1152@@ -2866,6 +3004,8 @@ django/contrib/sites/locale/kn/LC_MESSAGES/django.mo
1153 django/contrib/sites/locale/kn/LC_MESSAGES/django.po
1154 django/contrib/sites/locale/ko/LC_MESSAGES/django.mo
1155 django/contrib/sites/locale/ko/LC_MESSAGES/django.po
1156+django/contrib/sites/locale/ky/LC_MESSAGES/django.mo
1157+django/contrib/sites/locale/ky/LC_MESSAGES/django.po
1158 django/contrib/sites/locale/lb/LC_MESSAGES/django.mo
1159 django/contrib/sites/locale/lb/LC_MESSAGES/django.po
1160 django/contrib/sites/locale/lt/LC_MESSAGES/django.mo
1161@@ -2922,8 +3062,12 @@ django/contrib/sites/locale/ta/LC_MESSAGES/django.mo
1162 django/contrib/sites/locale/ta/LC_MESSAGES/django.po
1163 django/contrib/sites/locale/te/LC_MESSAGES/django.mo
1164 django/contrib/sites/locale/te/LC_MESSAGES/django.po
1165+django/contrib/sites/locale/tg/LC_MESSAGES/django.mo
1166+django/contrib/sites/locale/tg/LC_MESSAGES/django.po
1167 django/contrib/sites/locale/th/LC_MESSAGES/django.mo
1168 django/contrib/sites/locale/th/LC_MESSAGES/django.po
1169+django/contrib/sites/locale/tk/LC_MESSAGES/django.mo
1170+django/contrib/sites/locale/tk/LC_MESSAGES/django.po
1171 django/contrib/sites/locale/tr/LC_MESSAGES/django.mo
1172 django/contrib/sites/locale/tr/LC_MESSAGES/django.po
1173 django/contrib/sites/locale/tt/LC_MESSAGES/django.mo
1174@@ -2955,15 +3099,16 @@ django/contrib/staticfiles/testing.py
1175 django/contrib/staticfiles/urls.py
1176 django/contrib/staticfiles/utils.py
1177 django/contrib/staticfiles/views.py
1178+django/contrib/staticfiles/management/__init__.py
1179+django/contrib/staticfiles/management/commands/__init__.py
1180 django/contrib/staticfiles/management/commands/collectstatic.py
1181 django/contrib/staticfiles/management/commands/findstatic.py
1182 django/contrib/staticfiles/management/commands/runserver.py
1183-django/contrib/staticfiles/templatetags/__init__.py
1184-django/contrib/staticfiles/templatetags/staticfiles.py
1185 django/contrib/syndication/__init__.py
1186 django/contrib/syndication/apps.py
1187 django/contrib/syndication/views.py
1188 django/core/__init__.py
1189+django/core/asgi.py
1190 django/core/exceptions.py
1191 django/core/paginator.py
1192 django/core/signals.py
1193@@ -2980,6 +3125,7 @@ django/core/cache/backends/filebased.py
1194 django/core/cache/backends/locmem.py
1195 django/core/cache/backends/memcached.py
1196 django/core/checks/__init__.py
1197+django/core/checks/async_checks.py
1198 django/core/checks/caches.py
1199 django/core/checks/database.py
1200 django/core/checks/messages.py
1201@@ -3004,6 +3150,7 @@ django/core/files/uploadedfile.py
1202 django/core/files/uploadhandler.py
1203 django/core/files/utils.py
1204 django/core/handlers/__init__.py
1205+django/core/handlers/asgi.py
1206 django/core/handlers/base.py
1207 django/core/handlers/exception.py
1208 django/core/handlers/wsgi.py
1209@@ -3023,6 +3170,7 @@ django/core/management/color.py
1210 django/core/management/sql.py
1211 django/core/management/templates.py
1212 django/core/management/utils.py
1213+django/core/management/commands/__init__.py
1214 django/core/management/commands/check.py
1215 django/core/management/commands/compilemessages.py
1216 django/core/management/commands/createcachetable.py
1217@@ -3050,6 +3198,7 @@ django/core/management/commands/testserver.py
1218 django/core/serializers/__init__.py
1219 django/core/serializers/base.py
1220 django/core/serializers/json.py
1221+django/core/serializers/jsonl.py
1222 django/core/serializers/python.py
1223 django/core/serializers/pyyaml.py
1224 django/core/serializers/xml_serializer.py
1225@@ -3087,7 +3236,6 @@ django/db/backends/mysql/validation.py
1226 django/db/backends/oracle/__init__.py
1227 django/db/backends/oracle/base.py
1228 django/db/backends/oracle/client.py
1229-django/db/backends/oracle/compiler.py
1230 django/db/backends/oracle/creation.py
1231 django/db/backends/oracle/features.py
1232 django/db/backends/oracle/functions.py
1233@@ -3104,16 +3252,6 @@ django/db/backends/postgresql/features.py
1234 django/db/backends/postgresql/introspection.py
1235 django/db/backends/postgresql/operations.py
1236 django/db/backends/postgresql/schema.py
1237-django/db/backends/postgresql/utils.py
1238-django/db/backends/postgresql_psycopg2/__init__.py
1239-django/db/backends/postgresql_psycopg2/base.py
1240-django/db/backends/postgresql_psycopg2/client.py
1241-django/db/backends/postgresql_psycopg2/creation.py
1242-django/db/backends/postgresql_psycopg2/features.py
1243-django/db/backends/postgresql_psycopg2/introspection.py
1244-django/db/backends/postgresql_psycopg2/operations.py
1245-django/db/backends/postgresql_psycopg2/schema.py
1246-django/db/backends/postgresql_psycopg2/utils.py
1247 django/db/backends/sqlite3/__init__.py
1248 django/db/backends/sqlite3/base.py
1249 django/db/backends/sqlite3/client.py
1250@@ -3148,6 +3286,7 @@ django/db/models/base.py
1251 django/db/models/constants.py
1252 django/db/models/constraints.py
1253 django/db/models/deletion.py
1254+django/db/models/enums.py
1255 django/db/models/expressions.py
1256 django/db/models/indexes.py
1257 django/db/models/lookups.py
1258@@ -3159,6 +3298,7 @@ django/db/models/signals.py
1259 django/db/models/utils.py
1260 django/db/models/fields/__init__.py
1261 django/db/models/fields/files.py
1262+django/db/models/fields/json.py
1263 django/db/models/fields/mixins.py
1264 django/db/models/fields/proxy.py
1265 django/db/models/fields/related.py
1266@@ -3262,6 +3402,7 @@ django/middleware/http.py
1267 django/middleware/locale.py
1268 django/middleware/security.py
1269 django/template/__init__.py
1270+django/template/autoreload.py
1271 django/template/base.py
1272 django/template/context.py
1273 django/template/context_processors.py
1274@@ -3311,9 +3452,11 @@ django/urls/utils.py
1275 django/utils/__init__.py
1276 django/utils/_os.py
1277 django/utils/archive.py
1278+django/utils/asyncio.py
1279 django/utils/autoreload.py
1280 django/utils/baseconv.py
1281 django/utils/cache.py
1282+django/utils/connection.py
1283 django/utils/crypto.py
1284 django/utils/datastructures.py
1285 django/utils/dateformat.py
1286@@ -3337,12 +3480,10 @@ django/utils/itercompat.py
1287 django/utils/jslex.py
1288 django/utils/log.py
1289 django/utils/lorem_ipsum.py
1290-django/utils/lru_cache.py
1291 django/utils/module_loading.py
1292 django/utils/numberformat.py
1293 django/utils/regex_helper.py
1294 django/utils/safestring.py
1295-django/utils/six.py
1296 django/utils/termcolors.py
1297 django/utils/text.py
1298 django/utils/timesince.py
1299@@ -3365,6 +3506,7 @@ django/views/static.py
1300 django/views/decorators/__init__.py
1301 django/views/decorators/cache.py
1302 django/views/decorators/clickjacking.py
1303+django/views/decorators/common.py
1304 django/views/decorators/csrf.py
1305 django/views/decorators/debug.py
1306 django/views/decorators/gzip.py
1307@@ -3381,7 +3523,7 @@ django/views/templates/technical_404.html
1308 django/views/templates/technical_500.html
1309 django/views/templates/technical_500.txt
1310 docs/Makefile
1311-docs/README
1312+docs/README.rst
1313 docs/conf.py
1314 docs/contents.txt
1315 docs/glossary.txt
1316@@ -3432,11 +3574,11 @@ docs/howto/custom-file-storage.txt
1317 docs/howto/custom-lookups.txt
1318 docs/howto/custom-management-commands.txt
1319 docs/howto/custom-model-fields.txt
1320+docs/howto/custom-template-backend.txt
1321 docs/howto/custom-template-tags.txt
1322 docs/howto/error-reporting.txt
1323 docs/howto/index.txt
1324 docs/howto/initial-data.txt
1325-docs/howto/jython.txt
1326 docs/howto/legacy-databases.txt
1327 docs/howto/outputting-csv.txt
1328 docs/howto/outputting-pdf.txt
1329@@ -3444,8 +3586,14 @@ docs/howto/overriding-templates.txt
1330 docs/howto/upgrade-version.txt
1331 docs/howto/windows.txt
1332 docs/howto/writing-migrations.txt
1333+docs/howto/_images/postmortem.png
1334+docs/howto/_images/template-lines.png
1335 docs/howto/deployment/checklist.txt
1336 docs/howto/deployment/index.txt
1337+docs/howto/deployment/asgi/daphne.txt
1338+docs/howto/deployment/asgi/hypercorn.txt
1339+docs/howto/deployment/asgi/index.txt
1340+docs/howto/deployment/asgi/uvicorn.txt
1341 docs/howto/deployment/wsgi/apache-auth.txt
1342 docs/howto/deployment/wsgi/gunicorn.txt
1343 docs/howto/deployment/wsgi/index.txt
1344@@ -3519,6 +3667,7 @@ docs/ref/exceptions.txt
1345 docs/ref/index.txt
1346 docs/ref/middleware.txt
1347 docs/ref/migration-operations.txt
1348+docs/ref/paginator.txt
1349 docs/ref/request-response.txt
1350 docs/ref/schema-editor.txt
1351 docs/ref/settings.txt
1352@@ -3589,6 +3738,7 @@ docs/ref/contrib/gis/install/index.txt
1353 docs/ref/contrib/gis/install/postgis.txt
1354 docs/ref/contrib/gis/install/spatialite.txt
1355 docs/ref/contrib/postgres/aggregates.txt
1356+docs/ref/contrib/postgres/constraints.txt
1357 docs/ref/contrib/postgres/fields.txt
1358 docs/ref/contrib/postgres/forms.txt
1359 docs/ref/contrib/postgres/functions.txt
1360@@ -3842,8 +3992,48 @@ docs/releases/2.2.7.txt
1361 docs/releases/2.2.8.txt
1362 docs/releases/2.2.9.txt
1363 docs/releases/2.2.txt
1364+docs/releases/3.0.1.txt
1365+docs/releases/3.0.10.txt
1366+docs/releases/3.0.11.txt
1367+docs/releases/3.0.12.txt
1368+docs/releases/3.0.13.txt
1369+docs/releases/3.0.14.txt
1370+docs/releases/3.0.2.txt
1371+docs/releases/3.0.3.txt
1372+docs/releases/3.0.4.txt
1373+docs/releases/3.0.5.txt
1374+docs/releases/3.0.6.txt
1375+docs/releases/3.0.7.txt
1376+docs/releases/3.0.8.txt
1377+docs/releases/3.0.9.txt
1378+docs/releases/3.0.txt
1379+docs/releases/3.1.1.txt
1380+docs/releases/3.1.10.txt
1381+docs/releases/3.1.11.txt
1382+docs/releases/3.1.12.txt
1383+docs/releases/3.1.13.txt
1384+docs/releases/3.1.2.txt
1385+docs/releases/3.1.3.txt
1386+docs/releases/3.1.4.txt
1387+docs/releases/3.1.5.txt
1388+docs/releases/3.1.6.txt
1389+docs/releases/3.1.7.txt
1390+docs/releases/3.1.8.txt
1391+docs/releases/3.1.9.txt
1392+docs/releases/3.1.txt
1393+docs/releases/3.2.1.txt
1394+docs/releases/3.2.2.txt
1395+docs/releases/3.2.3.txt
1396+docs/releases/3.2.4.txt
1397+docs/releases/3.2.5.txt
1398+docs/releases/3.2.6.txt
1399+docs/releases/3.2.7.txt
1400+docs/releases/3.2.8.txt
1401+docs/releases/3.2.9.txt
1402+docs/releases/3.2.txt
1403 docs/releases/index.txt
1404 docs/releases/security.txt
1405+docs/topics/async.txt
1406 docs/topics/cache.txt
1407 docs/topics/checks.txt
1408 docs/topics/conditional-view-processing.txt
1409@@ -3862,8 +4052,6 @@ docs/topics/settings.txt
1410 docs/topics/signals.txt
1411 docs/topics/signing.txt
1412 docs/topics/templates.txt
1413-docs/topics/_images/postmortem.png
1414-docs/topics/_images/template-lines.png
1415 docs/topics/auth/customizing.txt
1416 docs/topics/auth/default.txt
1417 docs/topics/auth/index.txt
1418@@ -3919,7 +4107,6 @@ extras/README.TXT
1419 extras/django_bash_completion
1420 js_tests/tests.html
1421 js_tests/admin/DateTimeShortcuts.test.js
1422-js_tests/admin/RelatedObjectLookups.test.js
1423 js_tests/admin/SelectBox.test.js
1424 js_tests/admin/SelectFilter2.test.js
1425 js_tests/admin/URLify.test.js
1426@@ -3927,10 +4114,7 @@ js_tests/admin/actions.test.js
1427 js_tests/admin/core.test.js
1428 js_tests/admin/inlines.test.js
1429 js_tests/admin/jsi18n-mocks.test.js
1430-js_tests/admin/timeparse.test.js
1431 js_tests/gis/mapwidget.test.js
1432-js_tests/qunit/qunit.css
1433-js_tests/qunit/qunit.js
1434 scripts/manage_translations.py
1435 scripts/rpm-install.sh
1436 tests/.coveragerc
1437@@ -3987,7 +4171,9 @@ tests/admin_registration/__init__.py
1438 tests/admin_registration/models.py
1439 tests/admin_registration/tests.py
1440 tests/admin_scripts/__init__.py
1441+tests/admin_scripts/configured_dynamic_settings_manage.py
1442 tests/admin_scripts/configured_settings_manage.py
1443+tests/admin_scripts/test_django_admin_py.py
1444 tests/admin_scripts/tests.py
1445 tests/admin_scripts/urls.py
1446 tests/admin_scripts/another_app_waiting_migration/__init__.py
1447@@ -4009,6 +4195,8 @@ tests/admin_scripts/broken_app/models.py
1448 tests/admin_scripts/complex_app/__init__.py
1449 tests/admin_scripts/complex_app/admin/__init__.py
1450 tests/admin_scripts/complex_app/admin/foo.py
1451+tests/admin_scripts/complex_app/management/__init__.py
1452+tests/admin_scripts/complex_app/management/commands/__init__.py
1453 tests/admin_scripts/complex_app/management/commands/duplicate.py
1454 tests/admin_scripts/complex_app/models/__init__.py
1455 tests/admin_scripts/complex_app/models/bar.py
1456@@ -4026,6 +4214,8 @@ tests/admin_scripts/custom_templates/project_template/additional_dir/localized.p
1457 tests/admin_scripts/custom_templates/project_template/additional_dir/requirements.txt
1458 tests/admin_scripts/custom_templates/project_template/project_name/__init__.py
1459 tests/admin_scripts/custom_templates/project_template/project_name/settings.py
1460+tests/admin_scripts/management/__init__.py
1461+tests/admin_scripts/management/commands/__init__.py
1462 tests/admin_scripts/management/commands/app_command.py
1463 tests/admin_scripts/management/commands/base_command.py
1464 tests/admin_scripts/management/commands/custom_startproject.py
1465@@ -4033,6 +4223,8 @@ tests/admin_scripts/management/commands/label_command.py
1466 tests/admin_scripts/management/commands/noargs_command.py
1467 tests/admin_scripts/simple_app/__init__.py
1468 tests/admin_scripts/simple_app/models.py
1469+tests/admin_scripts/simple_app/management/__init__.py
1470+tests/admin_scripts/simple_app/management/commands/__init__.py
1471 tests/admin_scripts/simple_app/management/commands/duplicate.py
1472 tests/admin_utils/__init__.py
1473 tests/admin_utils/admin.py
1474@@ -4050,8 +4242,9 @@ tests/admin_views/test_actions.py
1475 tests/admin_views/test_adminsite.py
1476 tests/admin_views/test_autocomplete_view.py
1477 tests/admin_views/test_forms.py
1478+tests/admin_views/test_history_view.py
1479 tests/admin_views/test_multidb.py
1480-tests/admin_views/test_static_deprecation.py
1481+tests/admin_views/test_nav_sidebar.py
1482 tests/admin_views/test_templatetags.py
1483 tests/admin_views/tests.py
1484 tests/admin_views/urls.py
1485@@ -4095,10 +4288,32 @@ tests/apps/__init__.py
1486 tests/apps/apps.py
1487 tests/apps/models.py
1488 tests/apps/tests.py
1489-tests/apps/default_config_app/__init__.py
1490-tests/apps/default_config_app/apps.py
1491+tests/apps/explicit_default_config_app/__init__.py
1492+tests/apps/explicit_default_config_app/apps.py
1493+tests/apps/explicit_default_config_empty_apps/__init__.py
1494+tests/apps/explicit_default_config_empty_apps/apps.py
1495+tests/apps/explicit_default_config_mismatch_app/__init__.py
1496+tests/apps/explicit_default_config_mismatch_app/apps.py
1497+tests/apps/explicit_default_config_mismatch_app/not_apps.py
1498+tests/apps/explicit_default_config_without_apps/__init__.py
1499 tests/apps/namespace_package_base/nsapp/apps.py
1500 tests/apps/namespace_package_other_base/nsapp/.keep
1501+tests/apps/no_config_app/__init__.py
1502+tests/apps/one_config_app/__init__.py
1503+tests/apps/one_config_app/apps.py
1504+tests/apps/two_configs_app/__init__.py
1505+tests/apps/two_configs_app/apps.py
1506+tests/apps/two_configs_one_default_app/__init__.py
1507+tests/apps/two_configs_one_default_app/apps.py
1508+tests/apps/two_default_configs_app/__init__.py
1509+tests/apps/two_default_configs_app/apps.py
1510+tests/asgi/__init__.py
1511+tests/asgi/tests.py
1512+tests/asgi/urls.py
1513+tests/asgi/project/static/file.txt
1514+tests/async/__init__.py
1515+tests/async/models.py
1516+tests/async/tests.py
1517 tests/auth_tests/__init__.py
1518 tests/auth_tests/backend_alias.py
1519 tests/auth_tests/client.py
1520@@ -4118,8 +4333,8 @@ tests/auth_tests/test_middleware.py
1521 tests/auth_tests/test_migrations.py
1522 tests/auth_tests/test_mixins.py
1523 tests/auth_tests/test_models.py
1524+tests/auth_tests/test_password_reset_timeout_days.py
1525 tests/auth_tests/test_remote_user.py
1526-tests/auth_tests/test_remote_user_deprecation.py
1527 tests/auth_tests/test_signals.py
1528 tests/auth_tests/test_templates.py
1529 tests/auth_tests/test_tokens.py
1530@@ -4143,6 +4358,7 @@ tests/auth_tests/models/with_custom_email_field.py
1531 tests/auth_tests/models/with_foreign_key.py
1532 tests/auth_tests/models/with_integer_username.py
1533 tests/auth_tests/models/with_last_login_attr.py
1534+tests/auth_tests/models/with_many_to_many.py
1535 tests/auth_tests/templates/context_processors/auth_attrs_access.html
1536 tests/auth_tests/templates/context_processors/auth_attrs_messages.html
1537 tests/auth_tests/templates/context_processors/auth_attrs_no_access.html
1538@@ -4167,13 +4383,21 @@ tests/backends/test_utils.py
1539 tests/backends/tests.py
1540 tests/backends/base/__init__.py
1541 tests/backends/base/test_base.py
1542+tests/backends/base/test_client.py
1543 tests/backends/base/test_creation.py
1544 tests/backends/base/test_features.py
1545+tests/backends/base/test_introspection.py
1546 tests/backends/base/test_operations.py
1547 tests/backends/base/test_schema.py
1548+tests/backends/base/app_unmigrated/__init__.py
1549+tests/backends/base/app_unmigrated/models.py
1550+tests/backends/base/app_unmigrated/migrations/0001_initial.py
1551+tests/backends/base/app_unmigrated/migrations/__init__.py
1552 tests/backends/mysql/__init__.py
1553 tests/backends/mysql/test_creation.py
1554 tests/backends/mysql/test_features.py
1555+tests/backends/mysql/test_introspection.py
1556+tests/backends/mysql/test_operations.py
1557 tests/backends/mysql/test_schema.py
1558 tests/backends/mysql/tests.py
1559 tests/backends/oracle/__init__.py
1560@@ -4184,21 +4408,29 @@ tests/backends/oracle/tests.py
1561 tests/backends/postgresql/__init__.py
1562 tests/backends/postgresql/test_creation.py
1563 tests/backends/postgresql/test_introspection.py
1564+tests/backends/postgresql/test_operations.py
1565 tests/backends/postgresql/test_server_side_cursors.py
1566 tests/backends/postgresql/tests.py
1567 tests/backends/sqlite/__init__.py
1568+tests/backends/sqlite/test_creation.py
1569+tests/backends/sqlite/test_features.py
1570 tests/backends/sqlite/test_introspection.py
1571+tests/backends/sqlite/test_operations.py
1572 tests/backends/sqlite/tests.py
1573 tests/base/__init__.py
1574 tests/base/models.py
1575 tests/bash_completion/__init__.py
1576 tests/bash_completion/tests.py
1577+tests/bash_completion/management/__init__.py
1578+tests/bash_completion/management/commands/__init__.py
1579 tests/bash_completion/management/commands/test_command.py
1580 tests/basic/__init__.py
1581 tests/basic/models.py
1582 tests/basic/tests.py
1583 tests/builtin_server/__init__.py
1584 tests/builtin_server/tests.py
1585+tests/builtin_server/urls.py
1586+tests/builtin_server/views.py
1587 tests/bulk_create/__init__.py
1588 tests/bulk_create/models.py
1589 tests/bulk_create/tests.py
1590@@ -4208,7 +4440,9 @@ tests/cache/liberal_backend.py
1591 tests/cache/models.py
1592 tests/cache/tests.py
1593 tests/check_framework/__init__.py
1594+tests/check_framework/apps.py
1595 tests/check_framework/models.py
1596+tests/check_framework/test_async_checks.py
1597 tests/check_framework/test_caches.py
1598 tests/check_framework/test_database.py
1599 tests/check_framework/test_model_checks.py
1600@@ -4237,9 +4471,6 @@ tests/check_framework/urls/path_compatibility/__init__.py
1601 tests/check_framework/urls/path_compatibility/beginning_with_caret.py
1602 tests/check_framework/urls/path_compatibility/contains_re_named_group.py
1603 tests/check_framework/urls/path_compatibility/ending_with_dollar.py
1604-tests/choices/__init__.py
1605-tests/choices/models.py
1606-tests/choices/tests.py
1607 tests/conditional_processing/__init__.py
1608 tests/conditional_processing/tests.py
1609 tests/conditional_processing/urls.py
1610@@ -4306,7 +4537,9 @@ tests/db_functions/tests.py
1611 tests/db_functions/comparison/__init__.py
1612 tests/db_functions/comparison/test_cast.py
1613 tests/db_functions/comparison/test_coalesce.py
1614+tests/db_functions/comparison/test_collate.py
1615 tests/db_functions/comparison/test_greatest.py
1616+tests/db_functions/comparison/test_json_object.py
1617 tests/db_functions/comparison/test_least.py
1618 tests/db_functions/comparison/test_nullif.py
1619 tests/db_functions/datetime/__init__.py
1620@@ -4330,22 +4563,33 @@ tests/db_functions/math/test_mod.py
1621 tests/db_functions/math/test_pi.py
1622 tests/db_functions/math/test_power.py
1623 tests/db_functions/math/test_radians.py
1624+tests/db_functions/math/test_random.py
1625 tests/db_functions/math/test_round.py
1626+tests/db_functions/math/test_sign.py
1627 tests/db_functions/math/test_sin.py
1628 tests/db_functions/math/test_sqrt.py
1629 tests/db_functions/math/test_tan.py
1630+tests/db_functions/migrations/0001_setup_extensions.py
1631+tests/db_functions/migrations/0002_create_test_models.py
1632+tests/db_functions/migrations/__init__.py
1633 tests/db_functions/text/__init__.py
1634 tests/db_functions/text/test_chr.py
1635 tests/db_functions/text/test_concat.py
1636 tests/db_functions/text/test_left.py
1637 tests/db_functions/text/test_length.py
1638 tests/db_functions/text/test_lower.py
1639+tests/db_functions/text/test_md5.py
1640 tests/db_functions/text/test_ord.py
1641 tests/db_functions/text/test_pad.py
1642 tests/db_functions/text/test_repeat.py
1643 tests/db_functions/text/test_replace.py
1644 tests/db_functions/text/test_reverse.py
1645 tests/db_functions/text/test_right.py
1646+tests/db_functions/text/test_sha1.py
1647+tests/db_functions/text/test_sha224.py
1648+tests/db_functions/text/test_sha256.py
1649+tests/db_functions/text/test_sha384.py
1650+tests/db_functions/text/test_sha512.py
1651 tests/db_functions/text/test_strindex.py
1652 tests/db_functions/text/test_substr.py
1653 tests/db_functions/text/test_trim.py
1654@@ -4357,9 +4601,12 @@ tests/db_typecasts/tests.py
1655 tests/db_utils/__init__.py
1656 tests/db_utils/tests.py
1657 tests/dbshell/__init__.py
1658+tests/dbshell/fake_client.py
1659 tests/dbshell/test_mysql.py
1660 tests/dbshell/test_oracle.py
1661 tests/dbshell/test_postgresql.py
1662+tests/dbshell/test_sqlite.py
1663+tests/dbshell/tests.py
1664 tests/decorators/__init__.py
1665 tests/decorators/tests.py
1666 tests/defer/__init__.py
1667@@ -4375,6 +4622,8 @@ tests/delete_regress/__init__.py
1668 tests/delete_regress/models.py
1669 tests/delete_regress/tests.py
1670 tests/deprecation/__init__.py
1671+tests/deprecation/test_default_hashing_algorithm.py
1672+tests/deprecation/test_middleware_mixin.py
1673 tests/deprecation/tests.py
1674 tests/dispatch/__init__.py
1675 tests/dispatch/tests.py
1676@@ -4385,8 +4634,12 @@ tests/empty/__init__.py
1677 tests/empty/models.py
1678 tests/empty/tests.py
1679 tests/empty/no_models/__init__.py
1680+tests/empty_models/__init__.py
1681+tests/empty_models/models.py
1682+tests/empty_models/test_commands.py
1683 tests/expressions/__init__.py
1684 tests/expressions/models.py
1685+tests/expressions/test_deprecation.py
1686 tests/expressions/test_queryset_values.py
1687 tests/expressions/tests.py
1688 tests/expressions_case/__init__.py
1689@@ -4430,6 +4683,8 @@ tests/filtered_relation/tests.py
1690 tests/fixtures/__init__.py
1691 tests/fixtures/models.py
1692 tests/fixtures/tests.py
1693+tests/fixtures/fixtures/circular_reference.json
1694+tests/fixtures/fixtures/circular_reference_natural_key.json
1695 tests/fixtures/fixtures/db_fixture_1.default.json
1696 tests/fixtures/fixtures/db_fixture_2.default.json.gz
1697 tests/fixtures/fixtures/db_fixture_3.nosuchdb.json
1698@@ -4438,7 +4693,10 @@ tests/fixtures/fixtures/fixture2.json
1699 tests/fixtures/fixtures/fixture2.xml
1700 tests/fixtures/fixtures/fixture3.xml
1701 tests/fixtures/fixtures/fixture4.json.zip
1702+tests/fixtures/fixtures/fixture5.json.bz2
1703 tests/fixtures/fixtures/fixture5.json.gz
1704+tests/fixtures/fixtures/fixture5.json.lzma
1705+tests/fixtures/fixtures/fixture5.json.xz
1706 tests/fixtures/fixtures/fixture5.json.zip
1707 tests/fixtures/fixtures/fixture6.json
1708 tests/fixtures/fixtures/fixture7.xml
1709@@ -4446,14 +4704,15 @@ tests/fixtures/fixtures/fixture8.json
1710 tests/fixtures/fixtures/fixture9.xml
1711 tests/fixtures/fixtures/fixture_with[special]chars.json
1712 tests/fixtures/fixtures/forward_reference_fk.json
1713+tests/fixtures/fixtures/forward_reference_fk_natural_key.json
1714 tests/fixtures/fixtures/forward_reference_m2m.json
1715+tests/fixtures/fixtures/forward_reference_m2m_natural_key.json
1716 tests/fixtures/fixtures/invalid.json
1717 tests/fixtures/fixtures/null_character_in_field_value.json
1718 tests/fixtures_model_package/__init__.py
1719 tests/fixtures_model_package/tests.py
1720-tests/fixtures_model_package/fixtures/fixture1.json
1721-tests/fixtures_model_package/fixtures/fixture2.json
1722-tests/fixtures_model_package/fixtures/fixture2.xml
1723+tests/fixtures_model_package/fixtures/model_package_fixture1.json
1724+tests/fixtures_model_package/fixtures/model_package_fixture2.json
1725 tests/fixtures_model_package/models/__init__.py
1726 tests/fixtures_regress/__init__.py
1727 tests/fixtures_regress/models.py
1728@@ -4485,6 +4744,8 @@ tests/fixtures_regress/fixtures_1/forward_ref_1.json
1729 tests/fixtures_regress/fixtures_1/inner/absolute.json
1730 tests/fixtures_regress/fixtures_2/forward_ref_2.json
1731 tests/flatpages_tests/__init__.py
1732+tests/flatpages_tests/absolute_urls.py
1733+tests/flatpages_tests/no_slash_urls.py
1734 tests/flatpages_tests/settings.py
1735 tests/flatpages_tests/test_csrf.py
1736 tests/flatpages_tests/test_forms.py
1737@@ -4530,6 +4791,7 @@ tests/forms_tests/field_tests/test_floatfield.py
1738 tests/forms_tests/field_tests/test_genericipaddressfield.py
1739 tests/forms_tests/field_tests/test_imagefield.py
1740 tests/forms_tests/field_tests/test_integerfield.py
1741+tests/forms_tests/field_tests/test_jsonfield.py
1742 tests/forms_tests/field_tests/test_multiplechoicefield.py
1743 tests/forms_tests/field_tests/test_multivaluefield.py
1744 tests/forms_tests/field_tests/test_nullbooleanfield.py
1745@@ -4601,7 +4863,6 @@ tests/forms_tests/widget_tests/test_timeinput.py
1746 tests/forms_tests/widget_tests/test_widget.py
1747 tests/from_db_value/__init__.py
1748 tests/from_db_value/models.py
1749-tests/from_db_value/test_deprecated.py
1750 tests/from_db_value/tests.py
1751 tests/generic_inline_admin/__init__.py
1752 tests/generic_inline_admin/admin.py
1753@@ -4691,6 +4952,7 @@ tests/gis_tests/data/gas_lines/gas_leitung.dbf
1754 tests/gis_tests/data/gas_lines/gas_leitung.prj
1755 tests/gis_tests/data/gas_lines/gas_leitung.shp
1756 tests/gis_tests/data/gas_lines/gas_leitung.shx
1757+tests/gis_tests/data/has_nulls/has_nulls.geojson
1758 tests/gis_tests/data/interstates/interstates.dbf
1759 tests/gis_tests/data/interstates/interstates.prj
1760 tests/gis_tests/data/interstates/interstates.shp
1761@@ -4723,6 +4985,7 @@ tests/gis_tests/gdal_tests/test_envelope.py
1762 tests/gis_tests/gdal_tests/test_geom.py
1763 tests/gis_tests/gdal_tests/test_raster.py
1764 tests/gis_tests/gdal_tests/test_srs.py
1765+tests/gis_tests/gdal_tests/tests.py
1766 tests/gis_tests/geo3d/__init__.py
1767 tests/gis_tests/geo3d/models.py
1768 tests/gis_tests/geo3d/tests.py
1769@@ -4739,6 +5002,7 @@ tests/gis_tests/geoapp/sitemaps.py
1770 tests/gis_tests/geoapp/test_expressions.py
1771 tests/gis_tests/geoapp/test_feeds.py
1772 tests/gis_tests/geoapp/test_functions.py
1773+tests/gis_tests/geoapp/test_indexes.py
1774 tests/gis_tests/geoapp/test_regress.py
1775 tests/gis_tests/geoapp/test_serializers.py
1776 tests/gis_tests/geoapp/test_sitemaps.py
1777@@ -4758,7 +5022,8 @@ tests/gis_tests/geos_tests/test_mutable_list.py
1778 tests/gis_tests/gis_migrations/__init__.py
1779 tests/gis_tests/gis_migrations/test_commands.py
1780 tests/gis_tests/gis_migrations/test_operations.py
1781-tests/gis_tests/gis_migrations/migrations/0001_initial.py
1782+tests/gis_tests/gis_migrations/migrations/0001_setup_extensions.py
1783+tests/gis_tests/gis_migrations/migrations/0002_create_models.py
1784 tests/gis_tests/gis_migrations/migrations/__init__.py
1785 tests/gis_tests/inspectapp/__init__.py
1786 tests/gis_tests/inspectapp/models.py
1787@@ -4766,10 +5031,12 @@ tests/gis_tests/inspectapp/tests.py
1788 tests/gis_tests/layermap/__init__.py
1789 tests/gis_tests/layermap/models.py
1790 tests/gis_tests/layermap/tests.py
1791-tests/gis_tests/maps/__init__.py
1792 tests/gis_tests/rasterapp/__init__.py
1793 tests/gis_tests/rasterapp/models.py
1794 tests/gis_tests/rasterapp/test_rasterfield.py
1795+tests/gis_tests/rasterapp/migrations/0001_setup_extensions.py
1796+tests/gis_tests/rasterapp/migrations/0002_rastermodels.py
1797+tests/gis_tests/rasterapp/migrations/__init__.py
1798 tests/gis_tests/relatedapp/__init__.py
1799 tests/gis_tests/relatedapp/models.py
1800 tests/gis_tests/relatedapp/tests.py
1801@@ -4999,6 +5266,7 @@ tests/messages_tests/test_fallback.py
1802 tests/messages_tests/test_middleware.py
1803 tests/messages_tests/test_mixins.py
1804 tests/messages_tests/test_session.py
1805+tests/messages_tests/tests.py
1806 tests/messages_tests/urls.py
1807 tests/middleware/__init__.py
1808 tests/middleware/cond_get_urls.py
1809@@ -5117,6 +5385,10 @@ tests/migrations/test_add_many_to_many_field_initial/0002_initial.py
1810 tests/migrations/test_add_many_to_many_field_initial/__init__.py
1811 tests/migrations/test_auto_now_add/0001_initial.py
1812 tests/migrations/test_auto_now_add/__init__.py
1813+tests/migrations/test_fake_initial_case_insensitive/fake_initial/0001_initial.py
1814+tests/migrations/test_fake_initial_case_insensitive/fake_initial/__init__.py
1815+tests/migrations/test_fake_initial_case_insensitive/initial/0001_initial.py
1816+tests/migrations/test_fake_initial_case_insensitive/initial/__init__.py
1817 tests/migrations/test_migrations/0001_initial.py
1818 tests/migrations/test_migrations/0002_second.py
1819 tests/migrations/test_migrations/__init__.py
1820@@ -5133,6 +5405,10 @@ tests/migrations/test_migrations_conflict/0001_initial.py
1821 tests/migrations/test_migrations_conflict/0002_conflicting_second.py
1822 tests/migrations/test_migrations_conflict/0002_second.py
1823 tests/migrations/test_migrations_conflict/__init__.py
1824+tests/migrations/test_migrations_conflict_long_name/0001_initial.py
1825+tests/migrations/test_migrations_conflict_long_name/0002_conflicting_second_migration_with_long_name.py
1826+tests/migrations/test_migrations_conflict_long_name/0002_second.py
1827+tests/migrations/test_migrations_conflict_long_name/__init__.py
1828 tests/migrations/test_migrations_custom_user/0001_initial.py
1829 tests/migrations/test_migrations_custom_user/__init__.py
1830 tests/migrations/test_migrations_empty/__init__.py
1831@@ -5144,6 +5420,7 @@ tests/migrations/test_migrations_first/second.py
1832 tests/migrations/test_migrations_first/thefirst.py
1833 tests/migrations/test_migrations_initial_false/0001_not_initial.py
1834 tests/migrations/test_migrations_initial_false/__init__.py
1835+tests/migrations/test_migrations_namespace_package/0001_initial.py
1836 tests/migrations/test_migrations_no_ancestor/0001_initial.py
1837 tests/migrations/test_migrations_no_ancestor/0002_conflicting_second.py
1838 tests/migrations/test_migrations_no_ancestor/0002_second.py
1839@@ -5155,6 +5432,8 @@ tests/migrations/test_migrations_no_changes/__init__.py
1840 tests/migrations/test_migrations_no_default/0001_initial.py
1841 tests/migrations/test_migrations_no_default/__init__.py
1842 tests/migrations/test_migrations_no_init/.gitkeep
1843+tests/migrations/test_migrations_no_operations/0001_initial.py
1844+tests/migrations/test_migrations_no_operations/__init__.py
1845 tests/migrations/test_migrations_non_atomic/0001_initial.py
1846 tests/migrations/test_migrations_non_atomic/__init__.py
1847 tests/migrations/test_migrations_order/0001.py
1848@@ -5231,10 +5510,13 @@ tests/migrations2/test_migrations_2_first/0002_second.py
1849 tests/migrations2/test_migrations_2_first/__init__.py
1850 tests/migrations2/test_migrations_2_no_deps/0001_initial.py
1851 tests/migrations2/test_migrations_2_no_deps/__init__.py
1852+tests/model_enums/__init__.py
1853+tests/model_enums/tests.py
1854 tests/model_fields/4x8.png
1855 tests/model_fields/8x4.png
1856 tests/model_fields/__init__.py
1857 tests/model_fields/models.py
1858+tests/model_fields/test_autofield.py
1859 tests/model_fields/test_binaryfield.py
1860 tests/model_fields/test_booleanfield.py
1861 tests/model_fields/test_charfield.py
1862@@ -5243,11 +5525,13 @@ tests/model_fields/test_decimalfield.py
1863 tests/model_fields/test_durationfield.py
1864 tests/model_fields/test_field_flags.py
1865 tests/model_fields/test_filefield.py
1866+tests/model_fields/test_filepathfield.py
1867 tests/model_fields/test_floatfield.py
1868 tests/model_fields/test_foreignkey.py
1869 tests/model_fields/test_genericipaddressfield.py
1870 tests/model_fields/test_imagefield.py
1871 tests/model_fields/test_integerfield.py
1872+tests/model_fields/test_jsonfield.py
1873 tests/model_fields/test_manytomanyfield.py
1874 tests/model_fields/test_promises.py
1875 tests/model_fields/test_slugfield.py
1876@@ -5281,9 +5565,10 @@ tests/model_inheritance_regress/tests.py
1877 tests/model_meta/__init__.py
1878 tests/model_meta/models.py
1879 tests/model_meta/results.py
1880-tests/model_meta/test_manager_inheritance_from_future.py
1881 tests/model_meta/tests.py
1882 tests/model_options/__init__.py
1883+tests/model_options/apps.py
1884+tests/model_options/test_default_pk.py
1885 tests/model_options/test_default_related_name.py
1886 tests/model_options/test_tablespaces.py
1887 tests/model_options/models/__init__.py
1888@@ -5299,11 +5584,12 @@ tests/model_regress/models.py
1889 tests/model_regress/test_pickle.py
1890 tests/model_regress/test_state.py
1891 tests/model_regress/tests.py
1892+tests/model_utils/__init__.py
1893+tests/model_utils/tests.py
1894 tests/modeladmin/__init__.py
1895 tests/modeladmin/models.py
1896 tests/modeladmin/test_actions.py
1897 tests/modeladmin/test_checks.py
1898-tests/modeladmin/test_has_add_permission_obj_deprecation.py
1899 tests/modeladmin/tests.py
1900 tests/multiple_database/__init__.py
1901 tests/multiple_database/models.py
1902@@ -5362,7 +5648,8 @@ tests/postgres_tests/test_hstore.py
1903 tests/postgres_tests/test_indexes.py
1904 tests/postgres_tests/test_integration.py
1905 tests/postgres_tests/test_introspection.py
1906-tests/postgres_tests/test_json.py
1907+tests/postgres_tests/test_json_deprecation.py
1908+tests/postgres_tests/test_operations.py
1909 tests/postgres_tests/test_ranges.py
1910 tests/postgres_tests/test_search.py
1911 tests/postgres_tests/test_signals.py
1912@@ -5404,6 +5691,8 @@ tests/proxy_models/fixtures/mypeople.json
1913 tests/queries/__init__.py
1914 tests/queries/models.py
1915 tests/queries/test_bulk_update.py
1916+tests/queries/test_db_returning.py
1917+tests/queries/test_deprecation.py
1918 tests/queries/test_explain.py
1919 tests/queries/test_iterator.py
1920 tests/queries/test_q.py
1921@@ -5420,7 +5709,9 @@ tests/redirects_tests/__init__.py
1922 tests/redirects_tests/tests.py
1923 tests/redirects_tests/urls.py
1924 tests/requests/__init__.py
1925+tests/requests/test_accept_header.py
1926 tests/requests/test_data_upload_settings.py
1927+tests/requests/test_is_ajax_deprecations.py
1928 tests/requests/tests.py
1929 tests/requirements/mysql.txt
1930 tests/requirements/oracle.txt
1931@@ -5464,6 +5755,7 @@ tests/serializers/__init__.py
1932 tests/serializers/test_data.py
1933 tests/serializers/test_deserializedobject.py
1934 tests/serializers/test_json.py
1935+tests/serializers/test_jsonl.py
1936 tests/serializers/test_natural.py
1937 tests/serializers/test_xml.py
1938 tests/serializers/test_yaml.py
1939@@ -5487,14 +5779,13 @@ tests/servers/media/example_media_file.txt
1940 tests/servers/static/example_static_file.txt
1941 tests/sessions_tests/__init__.py
1942 tests/sessions_tests/models.py
1943+tests/sessions_tests/no_clear_expired.py
1944 tests/sessions_tests/tests.py
1945 tests/settings_tests/__init__.py
1946-tests/settings_tests/test_file_charset.py
1947 tests/settings_tests/tests.py
1948 tests/shell/__init__.py
1949 tests/shell/tests.py
1950 tests/shortcuts/__init__.py
1951-tests/shortcuts/test_render_to_response.py
1952 tests/shortcuts/tests.py
1953 tests/shortcuts/urls.py
1954 tests/shortcuts/views.py
1955@@ -5503,6 +5794,7 @@ tests/shortcuts/templates/shortcuts/render_test.html
1956 tests/shortcuts/templates/shortcuts/using.html
1957 tests/signals/__init__.py
1958 tests/signals/models.py
1959+tests/signals/test_deprecation.py
1960 tests/signals/tests.py
1961 tests/signed_cookies_tests/__init__.py
1962 tests/signed_cookies_tests/tests.py
1963@@ -5537,10 +5829,10 @@ tests/staticfiles_tests/storage.py
1964 tests/staticfiles_tests/test_checks.py
1965 tests/staticfiles_tests/test_finders.py
1966 tests/staticfiles_tests/test_forms.py
1967+tests/staticfiles_tests/test_handlers.py
1968 tests/staticfiles_tests/test_liveserver.py
1969 tests/staticfiles_tests/test_management.py
1970 tests/staticfiles_tests/test_storage.py
1971-tests/staticfiles_tests/test_templatetag_deprecation.py
1972 tests/staticfiles_tests/test_templatetags.py
1973 tests/staticfiles_tests/test_utils.py
1974 tests/staticfiles_tests/test_views.py
1975@@ -5586,6 +5878,7 @@ tests/staticfiles_tests/project/documents/test/file.txt
1976 tests/staticfiles_tests/project/faulty/faulty.css
1977 tests/staticfiles_tests/project/loop/bar.css
1978 tests/staticfiles_tests/project/loop/foo.css
1979+tests/staticfiles_tests/project/pathlib/pathlib.txt
1980 tests/staticfiles_tests/project/prefixed/test.txt
1981 tests/staticfiles_tests/project/site_media/media/media-file.txt
1982 tests/staticfiles_tests/project/site_media/static/testfile.txt
1983@@ -5632,6 +5925,7 @@ tests/template_backends/jinja2/template_backends/django_escaping.html
1984 tests/template_backends/jinja2/template_backends/hello.html
1985 tests/template_backends/jinja2/template_backends/syntax_error.html
1986 tests/template_backends/jinja2/template_backends/syntax_error2.html
1987+tests/template_backends/jinja2/template_backends/syntax_error_include.html
1988 tests/template_backends/template_strings/template_backends/csrf.html
1989 tests/template_backends/template_strings/template_backends/hello.html
1990 tests/template_backends/templates/template_backends/csrf.html
1991@@ -5648,6 +5942,7 @@ tests/template_tests/__init__.py
1992 tests/template_tests/alternate_urls.py
1993 tests/template_tests/annotated_tag_function.py
1994 tests/template_tests/broken_tag.py
1995+tests/template_tests/test_autoreloader.py
1996 tests/template_tests/test_base.py
1997 tests/template_tests/test_callables.py
1998 tests/template_tests/test_context.py
1999@@ -5754,6 +6049,7 @@ tests/template_tests/relative_templates/dir1/three.html
2000 tests/template_tests/relative_templates/dir1/two.html
2001 tests/template_tests/relative_templates/dir1/dir2/inc1.html
2002 tests/template_tests/relative_templates/dir1/dir2/inc2.html
2003+tests/template_tests/relative_templates/dir1/dir2/inc3.html
2004 tests/template_tests/relative_templates/dir1/dir2/include_content.html
2005 tests/template_tests/relative_templates/dir1/dir2/one.html
2006 tests/template_tests/syntax_tests/__init__.py
2007@@ -5794,7 +6090,7 @@ tests/template_tests/syntax_tests/test_width_ratio.py
2008 tests/template_tests/syntax_tests/test_with.py
2009 tests/template_tests/syntax_tests/i18n/__init__.py
2010 tests/template_tests/syntax_tests/i18n/base.py
2011-tests/template_tests/syntax_tests/i18n/test_blocktrans.py
2012+tests/template_tests/syntax_tests/i18n/test_blocktranslate.py
2013 tests/template_tests/syntax_tests/i18n/test_filters.py
2014 tests/template_tests/syntax_tests/i18n/test_get_available_languages.py
2015 tests/template_tests/syntax_tests/i18n/test_get_current_language.py
2016@@ -5802,7 +6098,7 @@ tests/template_tests/syntax_tests/i18n/test_get_current_language_bidi.py
2017 tests/template_tests/syntax_tests/i18n/test_get_language_info.py
2018 tests/template_tests/syntax_tests/i18n/test_get_language_info_list.py
2019 tests/template_tests/syntax_tests/i18n/test_language.py
2020-tests/template_tests/syntax_tests/i18n/test_trans.py
2021+tests/template_tests/syntax_tests/i18n/test_translate.py
2022 tests/template_tests/syntax_tests/i18n/test_underscore_syntax.py
2023 tests/template_tests/templates/27584_child.html
2024 tests/template_tests/templates/27584_parent.html
2025@@ -5868,6 +6164,7 @@ tests/templates/views/urlarticle_form.html
2026 tests/test_client/__init__.py
2027 tests/test_client/auth_backends.py
2028 tests/test_client/test_conditional_content_removal.py
2029+tests/test_client/test_fakepayload.py
2030 tests/test_client/tests.py
2031 tests/test_client/urls.py
2032 tests/test_client/views.py
2033@@ -5892,6 +6189,7 @@ tests/test_runner/test_discover_runner.py
2034 tests/test_runner/test_parallel.py
2035 tests/test_runner/tests.py
2036 tests/test_runner_apps/__init__.py
2037+tests/test_runner_apps/buffer/tests_buffer.py
2038 tests/test_runner_apps/databases/__init__.py
2039 tests/test_runner_apps/databases/tests.py
2040 tests/test_runner_apps/sample/__init__.py
2041@@ -5908,7 +6206,7 @@ tests/test_runner_apps/tagged/tests.py
2042 tests/test_runner_apps/tagged/tests_inheritance.py
2043 tests/test_utils/__init__.py
2044 tests/test_utils/models.py
2045-tests/test_utils/test_deprecated_features.py
2046+tests/test_utils/test_simpletestcase.py
2047 tests/test_utils/test_testcase.py
2048 tests/test_utils/test_transactiontestcase.py
2049 tests/test_utils/tests.py
2050@@ -5947,6 +6245,7 @@ tests/urlpatterns/included_urls.py
2051 tests/urlpatterns/more_urls.py
2052 tests/urlpatterns/path_base64_urls.py
2053 tests/urlpatterns/path_dynamic_urls.py
2054+tests/urlpatterns/path_same_name_urls.py
2055 tests/urlpatterns/path_urls.py
2056 tests/urlpatterns/test_resolvers.py
2057 tests/urlpatterns/tests.py
2058@@ -5994,20 +6293,31 @@ tests/user_commands/models.py
2059 tests/user_commands/tests.py
2060 tests/user_commands/urls.py
2061 tests/user_commands/eggs/basic.egg
2062+tests/user_commands/management/__init__.py
2063+tests/user_commands/management/commands/__init__.py
2064 tests/user_commands/management/commands/common_args.py
2065 tests/user_commands/management/commands/dance.py
2066 tests/user_commands/management/commands/hal.py
2067+tests/user_commands/management/commands/mutually_exclusive_required.py
2068+tests/user_commands/management/commands/no_system_checks.py
2069 tests/user_commands/management/commands/no_translations.py
2070+tests/user_commands/management/commands/outputwrapper.py
2071+tests/user_commands/management/commands/required_constant_option.py
2072+tests/user_commands/management/commands/required_list_option.py
2073 tests/user_commands/management/commands/required_option.py
2074 tests/user_commands/management/commands/reverse_url.py
2075 tests/user_commands/management/commands/set_option.py
2076+tests/user_commands/management/commands/specific_system_checks.py
2077 tests/user_commands/management/commands/subparser.py
2078+tests/user_commands/management/commands/subparser_dest.py
2079+tests/user_commands/management/commands/subparser_required.py
2080 tests/user_commands/management/commands/transaction.py
2081 tests/utils_tests/__init__.py
2082 tests/utils_tests/models.py
2083 tests/utils_tests/test_archive.py
2084 tests/utils_tests/test_autoreload.py
2085 tests/utils_tests/test_baseconv.py
2086+tests/utils_tests/test_connection.py
2087 tests/utils_tests/test_crypto.py
2088 tests/utils_tests/test_datastructures.py
2089 tests/utils_tests/test_dateformat.py
2090@@ -6016,6 +6326,7 @@ tests/utils_tests/test_datetime_safe.py
2091 tests/utils_tests/test_decorators.py
2092 tests/utils_tests/test_duration.py
2093 tests/utils_tests/test_encoding.py
2094+tests/utils_tests/test_encoding_deprecations.py
2095 tests/utils_tests/test_feedgenerator.py
2096 tests/utils_tests/test_functional.py
2097 tests/utils_tests/test_hashable.py
2098@@ -6039,18 +6350,24 @@ tests/utils_tests/test_timesince.py
2099 tests/utils_tests/test_timezone.py
2100 tests/utils_tests/test_topological_sort.py
2101 tests/utils_tests/test_tree.py
2102+tests/utils_tests/utils.py
2103 tests/utils_tests/archives/foobar.tar
2104 tests/utils_tests/archives/foobar.tar.bz2
2105 tests/utils_tests/archives/foobar.tar.gz
2106+tests/utils_tests/archives/foobar.tar.lzma
2107+tests/utils_tests/archives/foobar.tar.xz
2108 tests/utils_tests/archives/foobar.zip
2109 tests/utils_tests/archives/leadpath_foobar.tar
2110 tests/utils_tests/archives/leadpath_foobar.tar.bz2
2111 tests/utils_tests/archives/leadpath_foobar.tar.gz
2112+tests/utils_tests/archives/leadpath_foobar.tar.lzma
2113+tests/utils_tests/archives/leadpath_foobar.tar.xz
2114 tests/utils_tests/archives/leadpath_foobar.zip
2115 tests/utils_tests/eggs/test_egg.egg
2116 tests/utils_tests/files/strip_tags1.html
2117 tests/utils_tests/files/strip_tags2.txt
2118 tests/utils_tests/test_module/__init__.py
2119+tests/utils_tests/test_module/__main__.py
2120 tests/utils_tests/test_module/another_bad_module.py
2121 tests/utils_tests/test_module/another_good_module.py
2122 tests/utils_tests/test_module/bad_module.py
2123@@ -6123,6 +6440,8 @@ tests/view_tests/media/subdir/.hidden
2124 tests/view_tests/media/subdir/visible
2125 tests/view_tests/templates/jsi18n-multi-catalogs.html
2126 tests/view_tests/templates/jsi18n.html
2127+tests/view_tests/templates/my_technical_500.html
2128+tests/view_tests/templates/my_technical_500.txt
2129 tests/view_tests/templates/debug/template_error.html
2130 tests/view_tests/templates/debug/template_exception.html
2131 tests/view_tests/templatetags/__init__.py
2132@@ -6130,7 +6449,6 @@ tests/view_tests/templatetags/debugtags.py
2133 tests/view_tests/tests/__init__.py
2134 tests/view_tests/tests/test_csrf.py
2135 tests/view_tests/tests/test_debug.py
2136-tests/view_tests/tests/test_default_content_type.py
2137 tests/view_tests/tests/test_defaults.py
2138 tests/view_tests/tests/test_i18n.py
2139 tests/view_tests/tests/test_json.py
2140diff --git a/Django.egg-info/requires.txt b/Django.egg-info/requires.txt
2141index a1ec2c7..23c0c79 100644
2142--- a/Django.egg-info/requires.txt
2143+++ b/Django.egg-info/requires.txt
2144@@ -1,8 +1,9 @@
2145+asgiref<4,>=3.3.2
2146 pytz
2147 sqlparse>=0.2.2
2148
2149 [argon2]
2150-argon2-cffi>=16.1.0
2151+argon2-cffi>=19.1.0
2152
2153 [bcrypt]
2154 bcrypt
2155diff --git a/Gruntfile.js b/Gruntfile.js
2156index 2bf8a10..2d99041 100644
2157--- a/Gruntfile.js
2158+++ b/Gruntfile.js
2159@@ -1,4 +1,6 @@
2160-var globalThreshold = 50; // Global code coverage threshold (as a percentage)
2161+'use strict';
2162+
2163+const globalThreshold = 50; // Global code coverage threshold (as a percentage)
2164
2165 module.exports = function(grunt) {
2166 grunt.initConfig({
2167diff --git a/INSTALL b/INSTALL
2168index 25ff0ec..7c10946 100644
2169--- a/INSTALL
2170+++ b/INSTALL
2171@@ -1,6 +1,6 @@
2172 Thanks for downloading Django.
2173
2174-To install it, make sure you have Python 3.5 or greater installed. Then run
2175+To install it, make sure you have Python 3.6 or greater installed. Then run
2176 this command from the command prompt:
2177
2178 python -m pip install .
2179diff --git a/LICENSE.python b/LICENSE.python
2180index d517733..8e1c618 100644
2181--- a/LICENSE.python
2182+++ b/LICENSE.python
2183@@ -24,12 +24,11 @@ software.
2184
2185 In May 2000, Guido and the Python core development team moved to
2186 BeOpen.com to form the BeOpen PythonLabs team. In October of the same
2187-year, the PythonLabs team moved to Digital Creations (now Zope
2188-Corporation, see http://www.zope.com). In 2001, the Python Software
2189-Foundation (PSF, see http://www.python.org/psf/) was formed, a
2190-non-profit organization created specifically to own Python-related
2191-Intellectual Property. Zope Corporation is a sponsoring member of
2192-the PSF.
2193+year, the PythonLabs team moved to Digital Creations, which became
2194+Zope Corporation. In 2001, the Python Software Foundation (PSF, see
2195+https://www.python.org/psf/) was formed, a non-profit organization
2196+created specifically to own Python-related Intellectual Property.
2197+Zope Corporation was a sponsoring member of the PSF.
2198
2199 All Python releases are Open Source (see http://www.opensource.org for
2200 the Open Source Definition). Historically, most, but not all, Python
2201@@ -85,8 +84,8 @@ analyze, test, perform and/or display publicly, prepare derivative works,
2202 distribute, and otherwise use Python alone or in any derivative version,
2203 provided, however, that PSF's License Agreement and PSF's notice of copyright,
2204 i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
2205-2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Python Software Foundation; All
2206-Rights Reserved" are retained in Python alone or in any derivative version
2207+2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation;
2208+All Rights Reserved" are retained in Python alone or in any derivative version
2209 prepared by Licensee.
2210
2211 3. In the event Licensee prepares a derivative work that is based on
2212diff --git a/MANIFEST.in b/MANIFEST.in
2213index 0e131eb..fecbae3 100644
2214--- a/MANIFEST.in
2215+++ b/MANIFEST.in
2216@@ -7,7 +7,6 @@ include MANIFEST.in
2217 include package.json
2218 include *.rst
2219 graft django
2220-prune django/contrib/admin/bin
2221 graft docs
2222 graft extras
2223 graft js_tests
2224diff --git a/PKG-INFO b/PKG-INFO
2225index bfed6be..0af8692 100644
2226--- a/PKG-INFO
2227+++ b/PKG-INFO
2228@@ -1,16 +1,25 @@
2229 Metadata-Version: 2.1
2230 Name: Django
2231+<<<<<<< PKG-INFO
2232 Version: 2.2.24
2233+=======
2234+Version: 3.2.9
2235+>>>>>>> PKG-INFO
2236 Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
2237 Home-page: https://www.djangoproject.com/
2238 Author: Django Software Foundation
2239 Author-email: foundation@djangoproject.com
2240-License: BSD
2241+License: BSD-3-Clause
2242 Project-URL: Documentation, https://docs.djangoproject.com/
2243+Project-URL: Release notes, https://docs.djangoproject.com/en/stable/releases/
2244 Project-URL: Funding, https://www.djangoproject.com/fundraising/
2245 Project-URL: Source, https://github.com/django/django
2246 Project-URL: Tracker, https://code.djangoproject.com/
2247-Description: Django is a high-level Python Web framework that encourages rapid development
2248+Description: ======
2249+ Django
2250+ ======
2251+
2252+ Django is a high-level Python Web framework that encourages rapid development
2253 and clean, pragmatic design. Thanks for checking it out.
2254
2255 All documentation is in the "``docs``" directory and online at
2256@@ -38,8 +47,12 @@ Description: Django is a high-level Python Web framework that encourages rapid d
2257 To get more help:
2258
2259 * Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people
2260+<<<<<<< PKG-INFO
2261 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're
2262 new to IRC.
2263+=======
2264+ hang out there. See https://web.libera.chat if you're new to IRC.
2265+>>>>>>> PKG-INFO
2266
2267 * Join the django-users mailing list, or read the archives, at
2268 https://groups.google.com/group/django-users.
2269@@ -55,6 +68,13 @@ Description: Django is a high-level Python Web framework that encourages rapid d
2270 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at
2271 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests
2272
2273+ Supporting the Development of Django
2274+ ====================================
2275+
2276+ Django's development depends on your contributions.
2277+
2278+ If you depend on Django, remember to support the Django Software Foundation: https://www.djangoproject.com/fundraising/
2279+
2280 Platform: UNKNOWN
2281 Classifier: Development Status :: 5 - Production/Stable
2282 Classifier: Environment :: Web Environment
2283@@ -64,17 +84,26 @@ Classifier: License :: OSI Approved :: BSD License
2284 Classifier: Operating System :: OS Independent
2285 Classifier: Programming Language :: Python
2286 Classifier: Programming Language :: Python :: 3
2287-Classifier: Programming Language :: Python :: 3.5
2288+Classifier: Programming Language :: Python :: 3 :: Only
2289 Classifier: Programming Language :: Python :: 3.6
2290 Classifier: Programming Language :: Python :: 3.7
2291 Classifier: Programming Language :: Python :: 3.8
2292 Classifier: Programming Language :: Python :: 3.9
2293+<<<<<<< PKG-INFO
2294 Classifier: Programming Language :: Python :: 3 :: Only
2295+=======
2296+Classifier: Programming Language :: Python :: 3.10
2297+>>>>>>> PKG-INFO
2298 Classifier: Topic :: Internet :: WWW/HTTP
2299 Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
2300 Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
2301 Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
2302 Classifier: Topic :: Software Development :: Libraries :: Python Modules
2303+<<<<<<< PKG-INFO
2304 Requires-Python: >=3.5
2305+=======
2306+Requires-Python: >=3.6
2307+Provides-Extra: argon2
2308+>>>>>>> PKG-INFO
2309 Provides-Extra: bcrypt
2310 Provides-Extra: argon2
2311diff --git a/README.rst b/README.rst
2312index 6776b7c..c808a45 100644
2313--- a/README.rst
2314+++ b/README.rst
2315@@ -1,3 +1,7 @@
2316+======
2317+Django
2318+======
2319+
2320 Django is a high-level Python Web framework that encourages rapid development
2321 and clean, pragmatic design. Thanks for checking it out.
2322
2323@@ -26,8 +30,12 @@ ticket here: https://code.djangoproject.com/newticket
2324 To get more help:
2325
2326 * Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people
2327+<<<<<<< README.rst
2328 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're
2329 new to IRC.
2330+=======
2331+ hang out there. See https://web.libera.chat if you're new to IRC.
2332+>>>>>>> README.rst
2333
2334 * Join the django-users mailing list, or read the archives, at
2335 https://groups.google.com/group/django-users.
2336@@ -42,3 +50,10 @@ To run Django's test suite:
2337 * Follow the instructions in the "Unit tests" section of
2338 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at
2339 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests
2340+
2341+Supporting the Development of Django
2342+====================================
2343+
2344+Django's development depends on your contributions.
2345+
2346+If you depend on Django, remember to support the Django Software Foundation: https://www.djangoproject.com/fundraising/
2347diff --git a/debian/changelog b/debian/changelog
2348index 01b2283..879ccc0 100644
2349--- a/debian/changelog
2350+++ b/debian/changelog
2351@@ -1,3 +1,376 @@
2352+<<<<<<< debian/changelog
2353+=======
2354+python-django (2:3.2.9-2ubuntu1) jammy; urgency=medium
2355+
2356+ * Merge with Debian unstable (LP: #1946890). Dropped changes:
2357+ - d/p/test_subparser_regression.patch: Fix test regression (LP: #1945993)
2358+ [Fixed in 2:3.2.8-1]
2359+
2360+ -- Lena Voytek <lena.voytek@canonical.com> Thu, 18 Nov 2021 10:28:01 -0700
2361+
2362+python-django (2:3.2.9-2) unstable; urgency=medium
2363+
2364+ * Team upload.
2365+ * Fix __in lookup crash when combining with filtered aggregates.
2366+ Fix for: https://code.djangoproject.com/ticket/32690
2367+ This issue affects src:lava, where work is being done towards Django 3.2
2368+ compatibility.
2369+ Upstream patch from:
2370+ https://github.com/django/django/commit/136ff592ad8aa8b7fa1e61435e5501cc98ce8573
2371+ * Add Breaks: on lava-server << 2021.11 (Closes: #996931)
2372+ * Add Breaks: on python-django-pyscss << 2.0.2-10 (Closes: #983618)
2373+
2374+ -- Antonio Terceiro <terceiro@debian.org> Wed, 10 Nov 2021 11:22:48 -0300
2375+
2376+python-django (2:3.2.9-1) unstable; urgency=medium
2377+
2378+ * New upstream release.
2379+ <https://docs.djangoproject.com/en/3.2/releases/3.2.9/>
2380+
2381+ -- Chris Lamb <lamby@debian.org> Mon, 01 Nov 2021 16:13:55 +0000
2382+
2383+python-django (2:3.2.8-1) unstable; urgency=medium
2384+
2385+ * New upstream bugfix release.
2386+ * Drop a patch applied upstream.
2387+ * Bump Standards-Version to 4.6.0.
2388+
2389+ -- Chris Lamb <lamby@debian.org> Tue, 05 Oct 2021 09:34:57 +0100
2390+
2391+python-django (2:3.2.7-4) unstable; urgency=medium
2392+
2393+ * Skip a test that is fixed upstream (with a number of overlapping patches).
2394+
2395+ -- Chris Lamb <lamby@debian.org> Mon, 13 Sep 2021 09:03:27 +0100
2396+
2397+python-django (2:3.2.7-3) unstable; urgency=medium
2398+
2399+ * Actually upload 3.2 branch to unstable...
2400+
2401+ -- Chris Lamb <lamby@debian.org> Thu, 09 Sep 2021 17:49:23 +0100
2402+
2403+python-django (2:3.2.7-2) experimental; urgency=medium
2404+
2405+ * Upload 3.2 branch to unstable.
2406+
2407+ -- Chris Lamb <lamby@debian.org> Thu, 09 Sep 2021 15:51:11 +0100
2408+
2409+python-django (2:3.2.7-1) experimental; urgency=medium
2410+
2411+ * New upstream bugfix release.
2412+
2413+ -- Chris Lamb <lamby@debian.org> Wed, 01 Sep 2021 10:46:07 +0100
2414+
2415+python-django (2:3.2.6-1) experimental; urgency=medium
2416+
2417+ * New upstream bugfix release.
2418+ <https://docs.djangoproject.com/en/3.2/releases/3.2.6/>
2419+ * Bump Standards-Version to 4.5.1.
2420+
2421+ -- Chris Lamb <lamby@debian.org> Mon, 02 Aug 2021 09:16:21 +0100
2422+
2423+python-django (2:3.2.5-2) experimental; urgency=medium
2424+
2425+ * Don't symlink /usr/bin/django-admin to "django-admin.py"; ship the script
2426+ generated by the entry_points system instead, otherwise we introduce a
2427+ confusing "django-admin.py" deprecation message when using "django-admin".
2428+ (Closes: #991098)
2429+
2430+ -- Chris Lamb <lamby@debian.org> Thu, 15 Jul 2021 13:54:57 +0100
2431+
2432+python-django (2:3.2.5-1) experimental; urgency=medium
2433+
2434+ * New upstream security release:
2435+
2436+ - CVE-2021-35042: Potential SQL injection via unsanitized
2437+ QuerySet.order_by() input.
2438+
2439+ Unsanitized user input passed to QuerySet.order_by() could bypass
2440+ intended column reference validation in path marked for deprecation
2441+ resulting in a potential SQL injection even if a deprecation warning is
2442+ emitted. As a mitigation, the strict column reference validation was
2443+ restored for the duration of the deprecation period. This regression
2444+ appeared in Django version 3.1 as a side effect of fixing another bug
2445+ (#31426).
2446+
2447+ For more information, please see:
2448+ <https://www.djangoproject.com/weblog/2021/jul/01/security-releases/>
2449+
2450+ -- Chris Lamb <lamby@debian.org> Thu, 01 Jul 2021 10:56:07 +0100
2451+
2452+python-django (2:3.2.4-1) experimental; urgency=medium
2453+
2454+ * New upstream security release. (Closes: #989394)
2455+
2456+ - CVE-2021-33203: Potential directory traversal via admindocs
2457+
2458+ Staff members could use the admindocs TemplateDetailView view to
2459+ check the existence of arbitrary files. Additionally, if (and only
2460+ if) the default admindocs templates have been customized by the
2461+ developers to also expose the file contents, then not only the
2462+ existence but also the file contents would have been exposed.
2463+
2464+ As a mitigation, path sanitation is now applied and only files
2465+ within the template root directories can be loaded.
2466+
2467+ This issue has low severity, according to the Django security
2468+ policy.
2469+
2470+ Thanks to Rasmus Lerchedahl Petersen and Rasmus Wriedt Larsen from
2471+ the CodeQL Python team for the report.
2472+
2473+ - CVE-2021-33571: Possible indeterminate SSRF, RFI, and LFI attacks
2474+ since validators accepted leading zeros in IPv4 addresses
2475+
2476+ URLValidator, validate_ipv4_address(), and
2477+ validate_ipv46_address() didn't prohibit leading zeros in octal
2478+ literals. If you used such values you could suffer from
2479+ indeterminate SSRF, RFI, and LFI attacks.
2480+
2481+ validate_ipv4_address() and validate_ipv46_address() validators
2482+ were not affected on Python 3.9.5+.
2483+
2484+ This issue has medium severity, according to the Django security
2485+ policy.
2486+
2487+ * Bump Standards-Version to 4.5.1.
2488+
2489+ -- Chris Lamb <lamby@debian.org> Wed, 02 Jun 2021 16:08:13 +0100
2490+
2491+python-django (2:3.2.3-1) experimental; urgency=medium
2492+
2493+ * New upstream release.
2494+ <https://docs.djangoproject.com/en/3.2/releases/3.2.3/>
2495+
2496+ -- Chris Lamb <lamby@debian.org> Thu, 13 May 2021 10:25:49 +0100
2497+
2498+python-django (2:3.2.2-1) experimental; urgency=medium
2499+
2500+ * New upstream security release:
2501+ - CVE-2021-32052: Header injection possibility since URLValidator accepted
2502+ newlines in input on Python 3.9.5+. (Closes: #988136)
2503+ - Full release notes:
2504+ <https://www.djangoproject.com/weblog/2021/may/06/security-releases/>
2505+
2506+ -- Chris Lamb <lamby@debian.org> Thu, 06 May 2021 13:04:03 +0100
2507+
2508+python-django (2:3.2.1-1) experimental; urgency=medium
2509+
2510+ * New upstream security release:
2511+ - CVE-2021-31542: Potential directory-traversal via uploaded files.
2512+ (Closes: #988053)
2513+ - Full release notes:
2514+ <https://www.djangoproject.com/weblog/2021/may/04/security-releases/>
2515+ * Refresh patches.
2516+
2517+ -- Chris Lamb <lamby@debian.org> Tue, 04 May 2021 12:59:07 +0100
2518+
2519+python-django (2:3.2-1) experimental; urgency=medium
2520+
2521+ * New upstream major release:
2522+
2523+ - Full release notes: <https://docs.djangoproject.com/en/3.2/releases/3.2/>
2524+ - CVE-2021-28658: The MultiPartParser class allowed directory-traversal
2525+ via uploaded files via maliciously crafted filenames. (Closes: #986447)
2526+
2527+ -- Chris Lamb <lamby@debian.org> Tue, 06 Apr 2021 11:38:48 +0100
2528+
2529+python-django (2:3.2~rc1-1) experimental; urgency=medium
2530+
2531+ * New upstream release candidate.
2532+ <https://www.djangoproject.com/weblog/2021/mar/18/django-32-rc1/#s-id5>
2533+ * Refresh patches.
2534+
2535+ -- Chris Lamb <lamby@debian.org> Fri, 19 Mar 2021 09:56:40 +0000
2536+
2537+python-django (2:3.2~beta1-1) experimental; urgency=medium
2538+
2539+ * New upstream beta release.
2540+ <https://www.djangoproject.com/weblog/2021/feb/19/django-32-beta-1-released/>
2541+ * Apply wrap-and-sort -sa.
2542+
2543+ -- Chris Lamb <lamby@debian.org> Fri, 19 Feb 2021 16:13:21 +0000
2544+
2545+python-django (2:3.2~alpha1-2) experimental; urgency=medium
2546+
2547+ * Apply security fix from upstream:
2548+
2549+ - CVE-2021-23336: Prevent a web cache poisoning attack via "parameter
2550+ cloaking". Django contains a copy of urllib.parse.parse_qsl() which was
2551+ added to backport some security fixes. A further security fix has been
2552+ issued recently such that parse_qsl() no longer allows using ";" as a
2553+ query parameter separator by default. (Closes: #983090)
2554+
2555+ <https://www.djangoproject.com/weblog/2021/feb/19/security-releases/>
2556+
2557+ -- Chris Lamb <lamby@debian.org> Fri, 19 Feb 2021 09:28:42 +0000
2558+
2559+python-django (2:3.2~alpha1-1) experimental; urgency=medium
2560+
2561+ * New upstream alpha release.
2562+ <https://www.djangoproject.com/weblog/2021/jan/19/django-32-alpha-1-released/>
2563+ * Refresh patches.
2564+ * Drop no-upstream-changelog overrides; removed from Lintian.
2565+
2566+ -- Chris Lamb <lamby@debian.org> Wed, 20 Jan 2021 09:27:49 +0000
2567+
2568+python-django (2:3.1.5-1) experimental; urgency=medium
2569+
2570+ * New upstream bugfix release.
2571+ <https://docs.djangoproject.com/en/3.1/releases/3.1.5/>
2572+
2573+ -- Chris Lamb <lamby@debian.org> Mon, 04 Jan 2021 12:45:20 +0000
2574+
2575+python-django (2:3.1.4-1) experimental; urgency=medium
2576+
2577+ * New upstream bugfix release.
2578+ <https://docs.djangoproject.com/en/3.1/releases/3.1.4/>
2579+ * Bump Standards-Version to 4.5.1.
2580+
2581+ -- Chris Lamb <lamby@debian.org> Tue, 01 Dec 2020 11:25:32 +0000
2582+
2583+python-django (2:3.1.3-1) experimental; urgency=medium
2584+
2585+ * New upstream bugfix release.
2586+ <https://docs.djangoproject.com/en/stable/releases/3.1.3/>
2587+
2588+ -- Chris Lamb <lamby@debian.org> Tue, 03 Nov 2020 11:59:29 +0000
2589+
2590+python-django (2:3.1.2-1) experimental; urgency=medium
2591+
2592+ * New upstream bugfix release.
2593+ <https://www.djangoproject.com/weblog/2020/oct/01/django-bugfix-release-312/>
2594+ * Update Maintainer field with new Debian Python Team contact address.
2595+ * Update Vcs-* fields with new Debian Python Team Salsa layout.
2596+
2597+ -- Chris Lamb <lamby@debian.org> Thu, 01 Oct 2020 10:06:16 +0100
2598+
2599+python-django (2:3.1.1-1) experimental; urgency=medium
2600+
2601+ * New upstream security release to address CVE-2020-24583, CVE-2020-24584.
2602+ (Closes: #969367)
2603+ <https://www.djangoproject.com/weblog/2020/sep/01/security-releases/>
2604+
2605+ -- Chris Lamb <lamby@debian.org> Tue, 01 Sep 2020 12:32:23 +0100
2606+
2607+python-django (2:3.1-2) experimental; urgency=medium
2608+
2609+ * Set the PYTHONPATH in the autopkgtests in the same way that we do in
2610+ debian/rules. (Closes: #968577)
2611+
2612+ -- Chris Lamb <lamby@debian.org> Mon, 17 Aug 2020 23:11:30 +0100
2613+
2614+python-django (2:3.1-1) experimental; urgency=medium
2615+
2616+ * New upstream release.
2617+ <https://docs.djangoproject.com/en/3.1/releases/3.1/>
2618+
2619+ -- Chris Lamb <lamby@debian.org> Tue, 04 Aug 2020 10:11:43 +0100
2620+
2621+python-django (2:3.1~rc1-1) experimental; urgency=medium
2622+
2623+ * New upstream release candidate release.
2624+ <https://www.djangoproject.com/weblog/2020/jul/20/django-31-release-candidate-1-released/>
2625+
2626+ -- Chris Lamb <lamby@debian.org> Mon, 20 Jul 2020 11:43:40 +0100
2627+
2628+python-django (2:3.1~beta1-1) experimental; urgency=medium
2629+
2630+ * New upstream beta release.
2631+ <https://www.djangoproject.com/weblog/2020/jun/15/django-31-beta-1-released/>
2632+ * Refresh patches.
2633+
2634+ -- Chris Lamb <lamby@debian.org> Mon, 15 Jun 2020 11:30:39 +0100
2635+
2636+python-django (2:3.0.7-2) experimental; urgency=medium
2637+
2638+ * Fix a regression in the handling of CVE-2020-13596.
2639+ * Refresh patches.
2640+
2641+ -- Chris Lamb <lamby@debian.org> Sat, 13 Jun 2020 15:15:34 +0100
2642+
2643+python-django (2:3.0.7-1) experimental; urgency=medium
2644+
2645+ * New upstream security release.
2646+ <https://www.djangoproject.com/weblog/2020/jun/03/security-releases/>
2647+
2648+ -- Chris Lamb <lamby@debian.org> Wed, 03 Jun 2020 21:16:00 +0100
2649+
2650+python-django (2:3.0.6-1) experimental; urgency=medium
2651+
2652+ * New upstream bugfix release.
2653+ <https://docs.djangoproject.com/en/3.0/releases/3.0.6/>
2654+
2655+ -- Chris Lamb <lamby@debian.org> Mon, 04 May 2020 19:33:25 +0100
2656+
2657+python-django (2:3.0.5-1) experimental; urgency=medium
2658+
2659+ * New upstream release.
2660+ <https://docs.djangoproject.com/en/3.0/releases/3.0.5/>
2661+ * Refresh all patches.
2662+
2663+ -- Chris Lamb <lamby@debian.org> Wed, 01 Apr 2020 10:35:42 +0100
2664+
2665+python-django (2:3.0.4-1) experimental; urgency=medium
2666+
2667+ * New upstream security release. (Closes: #953102)
2668+ <https://www.djangoproject.com/weblog/2020/mar/04/security-releases/>
2669+ * Bump Standards-Version to 4.5.0.
2670+ * Refresh debian/patches/0004-Use-locally-installed-documentation-sources.patch.
2671+
2672+ -- Chris Lamb <lamby@debian.org> Wed, 04 Mar 2020 08:22:30 -0800
2673+
2674+python-django (2:3.0.2-1) experimental; urgency=medium
2675+
2676+ * New upstream bugfix release.
2677+ <https://www.djangoproject.com/weblog/2020/jan/02/django-bugfix-release-302/>
2678+ * Add python3-selenium to test-dependencies and to a runtime "Suggests".
2679+ (Closes: #947549)
2680+
2681+ -- Chris Lamb <lamby@debian.org> Thu, 02 Jan 2020 10:52:39 +0000
2682+
2683+python-django (2:3.0.1-1) experimental; urgency=medium
2684+
2685+ * New upstream security release.
2686+ <https://www.djangoproject.com/weblog/2019/dec/18/security-releases/>
2687+ (Closes: #946937)
2688+
2689+ -- Chris Lamb <lamby@debian.org> Mon, 30 Dec 2019 10:44:01 +0000
2690+
2691+python-django (2:3.0-1) experimental; urgency=medium
2692+
2693+ * New upstream release.
2694+ <https://www.djangoproject.com/weblog/2019/dec/02/django-3-released/>
2695+
2696+ -- Chris Lamb <lamby@debian.org> Mon, 02 Dec 2019 12:24:50 +0000
2697+
2698+python-django (2:3.0~rc1-1) experimental; urgency=medium
2699+
2700+ * New upstream release candidate release.
2701+ <https://www.djangoproject.com/weblog/2019/nov/18/django-30-release-candidate-1-released/>
2702+
2703+ -- Chris Lamb <lamby@debian.org> Mon, 18 Nov 2019 11:25:38 -0500
2704+
2705+python-django (2:3.0~beta1-1) experimental; urgency=medium
2706+
2707+ * New upstream beta release.
2708+ <https://www.djangoproject.com/weblog/2019/oct/14/django-30-beta-1-released/>
2709+ * Bump Standards-Version to 4.4.1.
2710+ * wrap-and-sort -sa.
2711+
2712+ -- Chris Lamb <lamby@debian.org> Mon, 14 Oct 2019 11:11:10 -0700
2713+
2714+python-django (2:3.0~alpha1-1) experimental; urgency=medium
2715+
2716+ * New upstream alpha release.
2717+ <https://www.djangoproject.com/weblog/2019/sep/10/django-30-alpha-1-released/>
2718+ * Refresh all patches.
2719+ * Add asgiref to build and runtime dependencies.
2720+ * Update debian/copyright.
2721+
2722+ -- Chris Lamb <lamby@debian.org> Tue, 10 Sep 2019 11:22:45 +0100
2723+
2724+>>>>>>> debian/changelog
2725 python-django (2:2.2.24-1ubuntu1) impish; urgency=medium
2726
2727 * d/p/test_subparser_regression.patch: Fix test regression (LP: #1945993)
2728diff --git a/debian/control b/debian/control
2729index 4d6f99d..c1930ed 100644
2730--- a/debian/control
2731+++ b/debian/control
2732@@ -8,7 +8,11 @@ Uploaders:
2733 Raphaël Hertzog <hertzog@debian.org>,
2734 Brian May <bam@debian.org>,
2735 Chris Lamb <lamby@debian.org>,
2736+<<<<<<< debian/control
2737 Standards-Version: 4.5.1
2738+=======
2739+Standards-Version: 4.6.0
2740+>>>>>>> debian/control
2741 Build-Depends:
2742 debhelper-compat (= 13),
2743 dh-python,
2744@@ -18,6 +22,7 @@ Build-Depends:
2745 python-django-formtools-doc <!nodoc>,
2746 python-psycopg2-doc <!nodoc>,
2747 python3-all,
2748+ python3-asgiref <!nocheck>,
2749 python3-bcrypt <!nocheck>,
2750 python3-doc <!nodoc>,
2751 python3-docutils <!nodoc>,
2752@@ -50,7 +55,10 @@ Breaks:
2753 python-django-common,
2754 python3-django-filters (<< 2.1.0),
2755 python3-mysqldb (<< 1.3.13),
2756+ lava-server (<< 2021.11),
2757+ python3-django-pyscss (<< 2.0.2-10~),
2758 Depends:
2759+ python3-asgiref,
2760 ${misc:Depends},
2761 ${python3:Depends},
2762 Recommends:
2763diff --git a/debian/copyright b/debian/copyright
2764index a310c48..e6b2edf 100644
2765--- a/debian/copyright
2766+++ b/debian/copyright
2767@@ -51,14 +51,6 @@ Files: django/utils/ipv6.py
2768 Copyright: 2007 Google Inc.
2769 License: Apache-2.0
2770
2771-Files: django/utils/lru_cache.py
2772-Copyright: 2012 Raymond Hettinger
2773-License: Expat
2774-
2775-Files: django/utils/six.py
2776-Copyright: 2010-2015 Benjamin Peterson
2777-License: Expat
2778-
2779 Files: django/utils/autoreload.py
2780 Copyright: 2004 CherryPy Team <team@cherrypy.org>, 2008 Ian Bicking
2781 Comment: "NAME" is the CherryPy Team. Also, quoting the source code:
2782diff --git a/debian/gbp.conf b/debian/gbp.conf
2783index 114ce39..3dfdaa2 100644
2784--- a/debian/gbp.conf
2785+++ b/debian/gbp.conf
2786@@ -1,5 +1,5 @@
2787 [DEFAULT]
2788-upstream-branch=upstream/2.0.x
2789+upstream-branch=upstream/3.x
2790 debian-branch=debian/sid
2791 pristine-tar=True
2792
2793diff --git a/debian/patches/0001-disable-sources-in-sphinxdoc.diff b/debian/patches/0001-disable-sources-in-sphinxdoc.diff
2794index a7eb740..596cc77 100644
2795--- a/debian/patches/0001-disable-sources-in-sphinxdoc.diff
2796+++ b/debian/patches/0001-disable-sources-in-sphinxdoc.diff
2797@@ -15,10 +15,17 @@ Patch-Name: 02_disable-sources-in-sphinxdoc.diff
2798 1 file changed, 4 insertions(+), 1 deletion(-)
2799
2800 diff --git a/docs/conf.py b/docs/conf.py
2801+<<<<<<< debian/patches/0001-disable-sources-in-sphinxdoc.diff
2802 index 9526cc411bab..9cbac4ad2804 100644
2803 --- a/docs/conf.py
2804 +++ b/docs/conf.py
2805 @@ -210,7 +210,10 @@ html_additional_pages = {}
2806+=======
2807+index f7a690953ff5..1ef211981cb3 100644
2808+--- a/docs/conf.py
2809++++ b/docs/conf.py
2810+@@ -217,7 +217,10 @@ html_additional_pages = {}
2811+>>>>>>> debian/patches/0001-disable-sources-in-sphinxdoc.diff
2812 # html_split_index = False
2813
2814 # If true, links to the reST sources are added to the pages.
2815diff --git a/debian/patches/0002-use_debian_geoip_database_as_default.diff b/debian/patches/0002-use_debian_geoip_database_as_default.diff
2816index e910849..e20522c 100644
2817--- a/debian/patches/0002-use_debian_geoip_database_as_default.diff
2818+++ b/debian/patches/0002-use_debian_geoip_database_as_default.diff
2819@@ -15,7 +15,7 @@ Patch-Name: 06_use_debian_geoip_database_as_default.diff
2820 1 file changed, 6 insertions(+), 3 deletions(-)
2821
2822 diff --git a/django/contrib/gis/geoip2/base.py b/django/contrib/gis/geoip2/base.py
2823-index b098632d39b3..7cdf81aad598 100644
2824+index 6b35a8acdc42..ff6141bdcc5b 100644
2825 --- a/django/contrib/gis/geoip2/base.py
2826 +++ b/django/contrib/gis/geoip2/base.py
2827 @@ -53,6 +53,7 @@ class GeoIP2:
2828@@ -46,8 +46,8 @@ index b098632d39b3..7cdf81aad598 100644
2829 + path = path or GEOIP_SETTINGS.get('GEOIP_PATH', '/usr/share/GeoIP')
2830 if not path:
2831 raise GeoIP2Exception('GeoIP path must be provided via parameter or the GEOIP_PATH setting.')
2832- if not isinstance(path, str):
2833-@@ -84,12 +87,12 @@ class GeoIP2:
2834+
2835+@@ -82,12 +85,12 @@ class GeoIP2:
2836 # Constructing the GeoIP database filenames using the settings
2837 # dictionary. If the database files for the GeoLite country
2838 # and/or city datasets exist, then try to open them.
2839diff --git a/debian/patches/0004-Set-the-default-shebang-to-new-projects-to-use-Pytho.patch b/debian/patches/0004-Set-the-default-shebang-to-new-projects-to-use-Pytho.patch
2840index 71e54c3..25d142b 100644
2841--- a/debian/patches/0004-Set-the-default-shebang-to-new-projects-to-use-Pytho.patch
2842+++ b/debian/patches/0004-Set-the-default-shebang-to-new-projects-to-use-Pytho.patch
2843@@ -7,7 +7,7 @@ Subject: Set the default shebang to new projects to use Python 3.
2844 1 file changed, 1 insertion(+), 1 deletion(-)
2845
2846 diff --git a/django/conf/project_template/manage.py-tpl b/django/conf/project_template/manage.py-tpl
2847-index 9525fd7ac703..d5d5607bad93 100755
2848+index a628884dc80b..50920a0df19b 100755
2849 --- a/django/conf/project_template/manage.py-tpl
2850 +++ b/django/conf/project_template/manage.py-tpl
2851 @@ -1,4 +1,4 @@
2852diff --git a/debian/patches/0004-Use-locally-installed-documentation-sources.patch b/debian/patches/0004-Use-locally-installed-documentation-sources.patch
2853index 44d7977..17115a8 100644
2854--- a/debian/patches/0004-Use-locally-installed-documentation-sources.patch
2855+++ b/debian/patches/0004-Use-locally-installed-documentation-sources.patch
2856@@ -7,16 +7,23 @@ Subject: Use locally installed documentation sources
2857 1 file changed, 3 insertions(+), 3 deletions(-)
2858
2859 diff --git a/docs/conf.py b/docs/conf.py
2860+<<<<<<< debian/patches/0004-Use-locally-installed-documentation-sources.patch
2861 index 9cbac4ad2804..803f00078109 100644
2862 --- a/docs/conf.py
2863 +++ b/docs/conf.py
2864 @@ -140,9 +140,9 @@ pygments_style = 'trac'
2865+=======
2866+index 1ef211981cb3..da1eea251f91 100644
2867+--- a/docs/conf.py
2868++++ b/docs/conf.py
2869+@@ -147,9 +147,9 @@ pygments_style = 'trac'
2870+>>>>>>> debian/patches/0004-Use-locally-installed-documentation-sources.patch
2871 # Links to Python's docs should reference the most recent version of the 3.x
2872 # branch, which is located at this URL.
2873 intersphinx_mapping = {
2874 - 'python': ('https://docs.python.org/3/', None),
2875-- 'sphinx': ('http://www.sphinx-doc.org/en/master/', None),
2876-- 'psycopg2': ('http://initd.org/psycopg/docs/', None),
2877+- 'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
2878+- 'psycopg2': ('https://www.psycopg.org/docs/', None),
2879 + 'python': ('/usr/share/doc/python3-doc/html/', None),
2880 + 'sphinx': ('/usr/share/doc/sphinx-doc/html/', None),
2881 + 'psycopg2': ('/usr/share/doc/python-psycopg2-doc/html/', None),
2882diff --git a/debian/patches/0005-Use-usr-bin-env-python3-shebang-for-django-admin.py.patch b/debian/patches/0005-Use-usr-bin-env-python3-shebang-for-django-admin.py.patch
2883index c30be2c..f115e3d 100644
2884--- a/debian/patches/0005-Use-usr-bin-env-python3-shebang-for-django-admin.py.patch
2885+++ b/debian/patches/0005-Use-usr-bin-env-python3-shebang-for-django-admin.py.patch
2886@@ -7,12 +7,12 @@ Subject: Use #!/usr/bin/env python3 shebang for django-admin.py.
2887 1 file changed, 1 insertion(+), 1 deletion(-)
2888
2889 diff --git a/django/bin/django-admin.py b/django/bin/django-admin.py
2890-index f518cdc463eb..53c32d657371 100755
2891+index 594b0f11db53..898788e66b77 100755
2892 --- a/django/bin/django-admin.py
2893 +++ b/django/bin/django-admin.py
2894 @@ -1,4 +1,4 @@
2895 -#!/usr/bin/env python
2896 +#!/usr/bin/env python3
2897- from django.core import management
2898+ # When the django-admin.py deprecation ends, remove this script.
2899+ import warnings
2900
2901- if __name__ == "__main__":
2902diff --git a/debian/patches/0006-Fixed-32690-Fixed-__in-lookup-crash-when-combining-w.patch b/debian/patches/0006-Fixed-32690-Fixed-__in-lookup-crash-when-combining-w.patch
2903new file mode 100644
2904index 0000000..137b7be
2905--- /dev/null
2906+++ b/debian/patches/0006-Fixed-32690-Fixed-__in-lookup-crash-when-combining-w.patch
2907@@ -0,0 +1,57 @@
2908+From: Simon Charette <charette.s@gmail.com>
2909+Date: Tue, 4 May 2021 23:42:52 -0400
2910+Subject: Fixed #32690 -- Fixed __in lookup crash when combining with filtered
2911+ aggregates.
2912+
2913+Having lookups group by subquery right-hand-sides is likely unnecessary
2914+in the first place but relatively large amount of work would be needed
2915+to achieve that such as making Lookup instances proper resolvable
2916+expressions.
2917+
2918+Regression in 35431298226165986ad07e91f9d3aca721ff38ec.
2919+
2920+Thanks James A. Munsch for the report.
2921+---
2922+ django/db/models/lookups.py | 9 +++++++++
2923+ tests/aggregation_regress/tests.py | 8 ++++++++
2924+ 2 files changed, 17 insertions(+)
2925+
2926+diff --git a/django/db/models/lookups.py b/django/db/models/lookups.py
2927+index 43f40c24ec1f..82f149750ea6 100644
2928+--- a/django/db/models/lookups.py
2929++++ b/django/db/models/lookups.py
2930+@@ -402,6 +402,15 @@ class In(FieldGetDbPrepValueIterableMixin, BuiltinLookup):
2931+ self.rhs.add_fields(['pk'])
2932+ return super().process_rhs(compiler, connection)
2933+
2934++ def get_group_by_cols(self, alias=None):
2935++ cols = self.lhs.get_group_by_cols()
2936++ if hasattr(self.rhs, 'get_group_by_cols'):
2937++ if not getattr(self.rhs, 'has_select_fields', True):
2938++ self.rhs.clear_select_clause()
2939++ self.rhs.add_fields(['pk'])
2940++ cols.extend(self.rhs.get_group_by_cols())
2941++ return cols
2942++
2943+ def get_rhs_op(self, connection, rhs):
2944+ return 'IN %s' % rhs
2945+
2946+diff --git a/tests/aggregation_regress/tests.py b/tests/aggregation_regress/tests.py
2947+index 877e7b49a7c8..5d841b166a35 100644
2948+--- a/tests/aggregation_regress/tests.py
2949++++ b/tests/aggregation_regress/tests.py
2950+@@ -1525,6 +1525,14 @@ class AggregationTests(TestCase):
2951+ allow_distinct = True
2952+ DistinctAggregate('foo', distinct=True)
2953+
2954++ @skipUnlessDBFeature('supports_subqueries_in_group_by')
2955++ def test_having_subquery_select(self):
2956++ authors = Author.objects.filter(pk=self.a1.pk)
2957++ books = Book.objects.annotate(Count('authors')).filter(
2958++ Q(authors__in=authors) | Q(authors__count__gt=2)
2959++ )
2960++ self.assertEqual(set(books), {self.b1, self.b4})
2961++
2962+
2963+ class JoinPromotionTests(TestCase):
2964+ def test_ticket_21150(self):
2965diff --git a/debian/patches/series b/debian/patches/series
2966index 08cb34f..d369411 100644
2967--- a/debian/patches/series
2968+++ b/debian/patches/series
2969@@ -3,4 +3,8 @@
2970 0004-Use-locally-installed-documentation-sources.patch
2971 0004-Set-the-default-shebang-to-new-projects-to-use-Pytho.patch
2972 0005-Use-usr-bin-env-python3-shebang-for-django-admin.py.patch
2973+<<<<<<< debian/patches/series
2974 0006-test-subparser-regression.patch
2975+=======
2976+0006-Fixed-32690-Fixed-__in-lookup-crash-when-combining-w.patch
2977+>>>>>>> debian/patches/series
2978diff --git a/debian/python-django-doc.lintian-overrides b/debian/python-django-doc.lintian-overrides
2979deleted file mode 100644
2980index ee7fa27..0000000
2981--- a/debian/python-django-doc.lintian-overrides
2982+++ /dev/null
2983@@ -1,4 +0,0 @@
2984-# We ship upstream's comprehensive, referenced and hyperlinked upstream
2985-# changelog under /usr/share/docwhich we would be doing a disservice to our
2986-# users by duplicating elsewhere.
2987-python-django-doc: no-upstream-changelog
2988diff --git a/debian/python-django.lintian-overrides b/debian/python-django.lintian-overrides
2989deleted file mode 100644
2990index 243f97b..0000000
2991--- a/debian/python-django.lintian-overrides
2992+++ /dev/null
2993@@ -1,4 +0,0 @@
2994-# We ship upstream's comprehensive, referenced and hyperlinked upstream
2995-# changelog in python-django-doc which we would be doing a disservice to our
2996-# users by duplicating here.
2997-python-django: no-upstream-changelog
2998diff --git a/debian/python3-django.links b/debian/python3-django.links
2999deleted file mode 100644
3000index ef4f565..0000000
3001--- a/debian/python3-django.links
3002+++ /dev/null
3003@@ -1 +0,0 @@
3004-usr/lib/python3/dist-packages/django/bin/django-admin.py usr/bin/django-admin
3005diff --git a/debian/python3-django.lintian-overrides b/debian/python3-django.lintian-overrides
3006deleted file mode 100644
3007index e03289e..0000000
3008--- a/debian/python3-django.lintian-overrides
3009+++ /dev/null
3010@@ -1,4 +0,0 @@
3011-# We ship upstream's comprehensive, referenced and hyperlinked upstream
3012-# changelog in python-django-doc which we would be doing a disservice to our
3013-# users by duplicating here.
3014-python3-django: no-upstream-changelog
3015diff --git a/debian/watch b/debian/watch
3016index a367f77..ee5eb0b 100644
3017--- a/debian/watch
3018+++ b/debian/watch
3019@@ -1,3 +1,7 @@
3020 version=4
3021 opts=filenamemangle=s/.*\/download\/(.*)\/tarball\//Django-$1.tar.gz/,uversionmangle=s/a(?=\d$)/alpha/;s/b(?=\d$)/beta/;s/(alpha|beta|rc)/~$1/ \
3022+<<<<<<< debian/watch
3023 https://www.djangoproject.com/download/ .*/(2[^/]+)/tarball/
3024+=======
3025+ https://www.djangoproject.com/download/ .*/(3[^/]+)/tarball/
3026+>>>>>>> debian/watch
3027diff --git a/django/__init__.py b/django/__init__.py
3028index 7963a36..dae16e0 100644
3029--- a/django/__init__.py
3030+++ b/django/__init__.py
3031@@ -1,6 +1,10 @@
3032 from django.utils.version import get_version
3033
3034+<<<<<<< django/__init__.py
3035 VERSION = (2, 2, 24, 'final', 0)
3036+=======
3037+VERSION = (3, 2, 9, 'final', 0)
3038+>>>>>>> django/__init__.py
3039
3040 __version__ = get_version(VERSION)
3041
3042diff --git a/django/apps/config.py b/django/apps/config.py
3043index f5c971f..bced53d 100644
3044--- a/django/apps/config.py
3045+++ b/django/apps/config.py
3046@@ -1,9 +1,14 @@
3047+import inspect
3048 import os
3049+import warnings
3050 from importlib import import_module
3051
3052 from django.core.exceptions import ImproperlyConfigured
3053-from django.utils.module_loading import module_has_submodule
3054+from django.utils.deprecation import RemovedInDjango41Warning
3055+from django.utils.functional import cached_property
3056+from django.utils.module_loading import import_string, module_has_submodule
3057
3058+APPS_MODULE_NAME = 'apps'
3059 MODELS_MODULE_NAME = 'models'
3060
3061
3062@@ -29,6 +34,10 @@ class AppConfig:
3063 # This value must be unique across a Django project.
3064 if not hasattr(self, 'label'):
3065 self.label = app_name.rpartition(".")[2]
3066+ if not self.label.isidentifier():
3067+ raise ImproperlyConfigured(
3068+ "The app label '%s' is not a valid Python identifier." % self.label
3069+ )
3070
3071 # Human-readable name for the application e.g. "Admin".
3072 if not hasattr(self, 'verbose_name'):
3073@@ -51,6 +60,15 @@ class AppConfig:
3074 def __repr__(self):
3075 return '<%s: %s>' % (self.__class__.__name__, self.label)
3076
3077+ @cached_property
3078+ def default_auto_field(self):
3079+ from django.conf import settings
3080+ return settings.DEFAULT_AUTO_FIELD
3081+
3082+ @property
3083+ def _is_default_auto_field_overridden(self):
3084+ return self.__class__.default_auto_field is not AppConfig.default_auto_field
3085+
3086 def _path_from_module(self, module):
3087 """Attempt to determine app's filesystem path from its module."""
3088 # See #21874 for extended discussion of the behavior of this method in
3089@@ -75,7 +93,7 @@ class AppConfig:
3090 raise ImproperlyConfigured(
3091 "The app module %r has no filesystem location, "
3092 "you must configure this app with an AppConfig subclass "
3093- "with a 'path' class attribute." % (module,))
3094+ "with a 'path' class attribute." % module)
3095 return paths[0]
3096
3097 @classmethod
3098@@ -83,73 +101,143 @@ class AppConfig:
3099 """
3100 Factory that creates an app config from an entry in INSTALLED_APPS.
3101 """
3102- try:
3103- # If import_module succeeds, entry is a path to an app module,
3104- # which may specify an app config class with default_app_config.
3105- # Otherwise, entry is a path to an app config class or an error.
3106- module = import_module(entry)
3107-
3108- except ImportError:
3109- # Track that importing as an app module failed. If importing as an
3110- # app config class fails too, we'll trigger the ImportError again.
3111- module = None
3112-
3113- mod_path, _, cls_name = entry.rpartition('.')
3114-
3115- # Raise the original exception when entry cannot be a path to an
3116- # app config class.
3117- if not mod_path:
3118- raise
3119+ # create() eventually returns app_config_class(app_name, app_module).
3120+ app_config_class = None
3121+ app_config_name = None
3122+ app_name = None
3123+ app_module = None
3124
3125+ # If import_module succeeds, entry points to the app module.
3126+ try:
3127+ app_module = import_module(entry)
3128+ except Exception:
3129+ pass
3130 else:
3131+ # If app_module has an apps submodule that defines a single
3132+ # AppConfig subclass, use it automatically.
3133+ # To prevent this, an AppConfig subclass can declare a class
3134+ # variable default = False.
3135+ # If the apps module defines more than one AppConfig subclass,
3136+ # the default one can declare default = True.
3137+ if module_has_submodule(app_module, APPS_MODULE_NAME):
3138+ mod_path = '%s.%s' % (entry, APPS_MODULE_NAME)
3139+ mod = import_module(mod_path)
3140+ # Check if there's exactly one AppConfig candidate,
3141+ # excluding those that explicitly define default = False.
3142+ app_configs = [
3143+ (name, candidate)
3144+ for name, candidate in inspect.getmembers(mod, inspect.isclass)
3145+ if (
3146+ issubclass(candidate, cls) and
3147+ candidate is not cls and
3148+ getattr(candidate, 'default', True)
3149+ )
3150+ ]
3151+ if len(app_configs) == 1:
3152+ app_config_class = app_configs[0][1]
3153+ app_config_name = '%s.%s' % (mod_path, app_configs[0][0])
3154+ else:
3155+ # Check if there's exactly one AppConfig subclass,
3156+ # among those that explicitly define default = True.
3157+ app_configs = [
3158+ (name, candidate)
3159+ for name, candidate in app_configs
3160+ if getattr(candidate, 'default', False)
3161+ ]
3162+ if len(app_configs) > 1:
3163+ candidates = [repr(name) for name, _ in app_configs]
3164+ raise RuntimeError(
3165+ '%r declares more than one default AppConfig: '
3166+ '%s.' % (mod_path, ', '.join(candidates))
3167+ )
3168+ elif len(app_configs) == 1:
3169+ app_config_class = app_configs[0][1]
3170+ app_config_name = '%s.%s' % (mod_path, app_configs[0][0])
3171+
3172+ # If app_module specifies a default_app_config, follow the link.
3173+ # default_app_config is deprecated, but still takes over the
3174+ # automatic detection for backwards compatibility during the
3175+ # deprecation period.
3176 try:
3177- # If this works, the app module specifies an app config class.
3178- entry = module.default_app_config
3179+ new_entry = app_module.default_app_config
3180 except AttributeError:
3181- # Otherwise, it simply uses the default app config class.
3182- return cls(entry, module)
3183+ # Use the default app config class if we didn't find anything.
3184+ if app_config_class is None:
3185+ app_config_class = cls
3186+ app_name = entry
3187 else:
3188- mod_path, _, cls_name = entry.rpartition('.')
3189-
3190- # If we're reaching this point, we must attempt to load the app config
3191- # class located at <mod_path>.<cls_name>
3192- mod = import_module(mod_path)
3193- try:
3194- cls = getattr(mod, cls_name)
3195- except AttributeError:
3196- if module is None:
3197- # If importing as an app module failed, check if the module
3198- # contains any valid AppConfigs and show them as choices.
3199- # Otherwise, that error probably contains the most informative
3200- # traceback, so trigger it again.
3201- candidates = sorted(
3202- repr(name) for name, candidate in mod.__dict__.items()
3203- if isinstance(candidate, type) and
3204- issubclass(candidate, AppConfig) and
3205- candidate is not AppConfig
3206+ message = (
3207+ '%r defines default_app_config = %r. ' % (entry, new_entry)
3208 )
3209- if candidates:
3210- raise ImproperlyConfigured(
3211- "'%s' does not contain a class '%s'. Choices are: %s."
3212- % (mod_path, cls_name, ', '.join(candidates))
3213+ if new_entry == app_config_name:
3214+ message += (
3215+ 'Django now detects this configuration automatically. '
3216+ 'You can remove default_app_config.'
3217 )
3218- import_module(entry)
3219+ else:
3220+ message += (
3221+ "However, Django's automatic detection %s. You should "
3222+ "move the default config class to the apps submodule "
3223+ "of your application and, if this module defines "
3224+ "several config classes, mark the default one with "
3225+ "default = True." % (
3226+ "picked another configuration, %r" % app_config_name
3227+ if app_config_name
3228+ else "did not find this configuration"
3229+ )
3230+ )
3231+ warnings.warn(message, RemovedInDjango41Warning, stacklevel=2)
3232+ entry = new_entry
3233+ app_config_class = None
3234+
3235+ # If import_string succeeds, entry is an app config class.
3236+ if app_config_class is None:
3237+ try:
3238+ app_config_class = import_string(entry)
3239+ except Exception:
3240+ pass
3241+ # If both import_module and import_string failed, it means that entry
3242+ # doesn't have a valid value.
3243+ if app_module is None and app_config_class is None:
3244+ # If the last component of entry starts with an uppercase letter,
3245+ # then it was likely intended to be an app config class; if not,
3246+ # an app module. Provide a nice error message in both cases.
3247+ mod_path, _, cls_name = entry.rpartition('.')
3248+ if mod_path and cls_name[0].isupper():
3249+ # We could simply re-trigger the string import exception, but
3250+ # we're going the extra mile and providing a better error
3251+ # message for typos in INSTALLED_APPS.
3252+ # This may raise ImportError, which is the best exception
3253+ # possible if the module at mod_path cannot be imported.
3254+ mod = import_module(mod_path)
3255+ candidates = [
3256+ repr(name)
3257+ for name, candidate in inspect.getmembers(mod, inspect.isclass)
3258+ if issubclass(candidate, cls) and candidate is not cls
3259+ ]
3260+ msg = "Module '%s' does not contain a '%s' class." % (mod_path, cls_name)
3261+ if candidates:
3262+ msg += ' Choices are: %s.' % ', '.join(candidates)
3263+ raise ImportError(msg)
3264 else:
3265- raise
3266+ # Re-trigger the module import exception.
3267+ import_module(entry)
3268
3269 # Check for obvious errors. (This check prevents duck typing, but
3270 # it could be removed if it became a problem in practice.)
3271- if not issubclass(cls, AppConfig):
3272+ if not issubclass(app_config_class, AppConfig):
3273 raise ImproperlyConfigured(
3274 "'%s' isn't a subclass of AppConfig." % entry)
3275
3276 # Obtain app name here rather than in AppClass.__init__ to keep
3277 # all error checking for entries in INSTALLED_APPS in one place.
3278- try:
3279- app_name = cls.name
3280- except AttributeError:
3281- raise ImproperlyConfigured(
3282- "'%s' must supply a name attribute." % entry)
3283+ if app_name is None:
3284+ try:
3285+ app_name = app_config_class.name
3286+ except AttributeError:
3287+ raise ImproperlyConfigured(
3288+ "'%s' must supply a name attribute." % entry
3289+ )
3290
3291 # Ensure app_name points to a valid module.
3292 try:
3293@@ -157,12 +245,14 @@ class AppConfig:
3294 except ImportError:
3295 raise ImproperlyConfigured(
3296 "Cannot import '%s'. Check that '%s.%s.name' is correct." % (
3297- app_name, mod_path, cls_name,
3298+ app_name,
3299+ app_config_class.__module__,
3300+ app_config_class.__qualname__,
3301 )
3302 )
3303
3304 # Entry is a path to an app config class.
3305- return cls(app_name, app_module)
3306+ return app_config_class(app_name, app_module)
3307
3308 def get_model(self, model_name, require_ready=True):
3309 """
3310diff --git a/django/apps/registry.py b/django/apps/registry.py
3311index 234a830..62650ca 100644
3312--- a/django/apps/registry.py
3313+++ b/django/apps/registry.py
3314@@ -2,7 +2,7 @@ import functools
3315 import sys
3316 import threading
3317 import warnings
3318-from collections import Counter, OrderedDict, defaultdict
3319+from collections import Counter, defaultdict
3320 from functools import partial
3321
3322 from django.core.exceptions import AppRegistryNotReady, ImproperlyConfigured
3323@@ -31,10 +31,10 @@ class Apps:
3324 # and whether the registry has been populated. Since it isn't possible
3325 # to reimport a module safely (it could reexecute initialization code)
3326 # all_models is never overridden or reset.
3327- self.all_models = defaultdict(OrderedDict)
3328+ self.all_models = defaultdict(dict)
3329
3330 # Mapping of labels to AppConfig instances for installed apps.
3331- self.app_configs = OrderedDict()
3332+ self.app_configs = {}
3333
3334 # Stack of app_configs. Used to store the current state in
3335 # set_available_apps and set_installed_apps.
3336@@ -128,6 +128,7 @@ class Apps:
3337 """Raise an exception if all apps haven't been imported yet."""
3338 if not self.apps_ready:
3339 from django.conf import settings
3340+
3341 # If "not ready" is due to unconfigured settings, accessing
3342 # INSTALLED_APPS raises a more helpful ImproperlyConfigured
3343 # exception.
3344@@ -316,10 +317,11 @@ class Apps:
3345 )
3346
3347 self.stored_app_configs.append(self.app_configs)
3348- self.app_configs = OrderedDict(
3349- (label, app_config)
3350+ self.app_configs = {
3351+ label: app_config
3352 for label, app_config in self.app_configs.items()
3353- if app_config.name in available)
3354+ if app_config.name in available
3355+ }
3356 self.clear_cache()
3357
3358 def unset_available_apps(self):
3359@@ -347,7 +349,7 @@ class Apps:
3360 if not self.ready:
3361 raise AppRegistryNotReady("App registry isn't ready yet.")
3362 self.stored_app_configs.append(self.app_configs)
3363- self.app_configs = OrderedDict()
3364+ self.app_configs = {}
3365 self.apps_ready = self.models_ready = self.loading = self.ready = False
3366 self.clear_cache()
3367 self.populate(installed)
3368diff --git a/django/bin/django-admin.py b/django/bin/django-admin.py
3369index f518cdc..594b0f1 100755
3370--- a/django/bin/django-admin.py
3371+++ b/django/bin/django-admin.py
3372@@ -1,5 +1,21 @@
3373 #!/usr/bin/env python
3374+# When the django-admin.py deprecation ends, remove this script.
3375+import warnings
3376+
3377 from django.core import management
3378
3379+try:
3380+ from django.utils.deprecation import RemovedInDjango40Warning
3381+except ImportError:
3382+ raise ImportError(
3383+ 'django-admin.py was deprecated in Django 3.1 and removed in Django '
3384+ '4.0. Please manually remove this script from your virtual environment '
3385+ 'and use django-admin instead.'
3386+ )
3387+
3388 if __name__ == "__main__":
3389+ warnings.warn(
3390+ 'django-admin.py is deprecated in favor of django-admin.',
3391+ RemovedInDjango40Warning,
3392+ )
3393 management.execute_from_command_line()
3394diff --git a/django/conf/__init__.py b/django/conf/__init__.py
3395index cf91ce8..2830244 100644
3396--- a/django/conf/__init__.py
3397+++ b/django/conf/__init__.py
3398@@ -16,17 +16,20 @@ from pathlib import Path
3399 import django
3400 from django.conf import global_settings
3401 from django.core.exceptions import ImproperlyConfigured
3402-from django.utils.deprecation import (
3403- RemovedInDjango30Warning, RemovedInDjango31Warning,
3404-)
3405+from django.utils.deprecation import RemovedInDjango40Warning
3406 from django.utils.functional import LazyObject, empty
3407
3408 ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE"
3409
3410-DEFAULT_CONTENT_TYPE_DEPRECATED_MSG = 'The DEFAULT_CONTENT_TYPE setting is deprecated.'
3411-FILE_CHARSET_DEPRECATED_MSG = (
3412- 'The FILE_CHARSET setting is deprecated. Starting with Django 3.1, all '
3413- 'files read from disk must be UTF-8 encoded.'
3414+PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG = (
3415+ 'The PASSWORD_RESET_TIMEOUT_DAYS setting is deprecated. Use '
3416+ 'PASSWORD_RESET_TIMEOUT instead.'
3417+)
3418+
3419+DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG = (
3420+ 'The DEFAULT_HASHING_ALGORITHM transitional setting is deprecated. '
3421+ 'Support for it and tokens, cookies, sessions, and signatures that use '
3422+ 'SHA-1 hashing algorithm will be removed in Django 4.0.'
3423 )
3424
3425
3426@@ -78,6 +81,14 @@ class LazySettings(LazyObject):
3427 if self._wrapped is empty:
3428 self._setup(name)
3429 val = getattr(self._wrapped, name)
3430+
3431+ # Special case some settings which require further modification.
3432+ # This is done here for performance reasons so the modified value is cached.
3433+ if name in {'MEDIA_URL', 'STATIC_URL'} and val is not None:
3434+ val = self._add_script_prefix(val)
3435+ elif name == 'SECRET_KEY' and not val:
3436+ raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
3437+
3438 self.__dict__[name] = val
3439 return val
3440
3441@@ -107,41 +118,43 @@ class LazySettings(LazyObject):
3442 raise RuntimeError('Settings already configured.')
3443 holder = UserSettingsHolder(default_settings)
3444 for name, value in options.items():
3445+ if not name.isupper():
3446+ raise TypeError('Setting %r must be uppercase.' % name)
3447 setattr(holder, name, value)
3448 self._wrapped = holder
3449
3450+ @staticmethod
3451+ def _add_script_prefix(value):
3452+ """
3453+ Add SCRIPT_NAME prefix to relative paths.
3454+
3455+ Useful when the app is being served at a subpath and manually prefixing
3456+ subpath to STATIC_URL and MEDIA_URL in settings is inconvenient.
3457+ """
3458+ # Don't apply prefix to absolute paths and URLs.
3459+ if value.startswith(('http://', 'https://', '/')):
3460+ return value
3461+ from django.urls import get_script_prefix
3462+ return '%s%s' % (get_script_prefix(), value)
3463+
3464 @property
3465 def configured(self):
3466 """Return True if the settings have already been configured."""
3467 return self._wrapped is not empty
3468
3469 @property
3470- def DEFAULT_CONTENT_TYPE(self):
3471+ def PASSWORD_RESET_TIMEOUT_DAYS(self):
3472 stack = traceback.extract_stack()
3473 # Show a warning if the setting is used outside of Django.
3474 # Stack index: -1 this line, -2 the caller.
3475- filename, _line_number, _function_name, _text = stack[-2]
3476+ filename, _, _, _ = stack[-2]
3477 if not filename.startswith(os.path.dirname(django.__file__)):
3478 warnings.warn(
3479- DEFAULT_CONTENT_TYPE_DEPRECATED_MSG,
3480- RemovedInDjango30Warning,
3481+ PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG,
3482+ RemovedInDjango40Warning,
3483 stacklevel=2,
3484 )
3485- return self.__getattr__('DEFAULT_CONTENT_TYPE')
3486-
3487- @property
3488- def FILE_CHARSET(self):
3489- stack = traceback.extract_stack()
3490- # Show a warning if the setting is used outside of Django.
3491- # Stack index: -1 this line, -2 the caller.
3492- filename, _line_number, _function_name, _text = stack[-2]
3493- if not filename.startswith(os.path.dirname(django.__file__)):
3494- warnings.warn(
3495- FILE_CHARSET_DEPRECATED_MSG,
3496- RemovedInDjango31Warning,
3497- stacklevel=2,
3498- )
3499- return self.__getattr__('FILE_CHARSET')
3500+ return self.__getattr__('PASSWORD_RESET_TIMEOUT_DAYS')
3501
3502
3503 class Settings:
3504@@ -172,13 +185,17 @@ class Settings:
3505 setattr(self, setting, setting_value)
3506 self._explicit_settings.add(setting)
3507
3508- if not self.SECRET_KEY:
3509- raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
3510+ if self.is_overridden('PASSWORD_RESET_TIMEOUT_DAYS'):
3511+ if self.is_overridden('PASSWORD_RESET_TIMEOUT'):
3512+ raise ImproperlyConfigured(
3513+ 'PASSWORD_RESET_TIMEOUT_DAYS/PASSWORD_RESET_TIMEOUT are '
3514+ 'mutually exclusive.'
3515+ )
3516+ setattr(self, 'PASSWORD_RESET_TIMEOUT', self.PASSWORD_RESET_TIMEOUT_DAYS * 60 * 60 * 24)
3517+ warnings.warn(PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG, RemovedInDjango40Warning)
3518
3519- if self.is_overridden('DEFAULT_CONTENT_TYPE'):
3520- warnings.warn(DEFAULT_CONTENT_TYPE_DEPRECATED_MSG, RemovedInDjango30Warning)
3521- if self.is_overridden('FILE_CHARSET'):
3522- warnings.warn(FILE_CHARSET_DEPRECATED_MSG, RemovedInDjango31Warning)
3523+ if self.is_overridden('DEFAULT_HASHING_ALGORITHM'):
3524+ warnings.warn(DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG, RemovedInDjango40Warning)
3525
3526 if hasattr(time, 'tzset') and self.TIME_ZONE:
3527 # When we can, attempt to validate the timezone. If we can't find
3528@@ -217,16 +234,17 @@ class UserSettingsHolder:
3529 self.default_settings = default_settings
3530
3531 def __getattr__(self, name):
3532- if name in self._deleted:
3533+ if not name.isupper() or name in self._deleted:
3534 raise AttributeError
3535 return getattr(self.default_settings, name)
3536
3537 def __setattr__(self, name, value):
3538 self._deleted.discard(name)
3539- if name == 'DEFAULT_CONTENT_TYPE':
3540- warnings.warn(DEFAULT_CONTENT_TYPE_DEPRECATED_MSG, RemovedInDjango30Warning)
3541- elif name == 'FILE_CHARSET':
3542- warnings.warn(FILE_CHARSET_DEPRECATED_MSG, RemovedInDjango31Warning)
3543+ if name == 'PASSWORD_RESET_TIMEOUT_DAYS':
3544+ setattr(self, 'PASSWORD_RESET_TIMEOUT', value * 60 * 60 * 24)
3545+ warnings.warn(PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG, RemovedInDjango40Warning)
3546+ if name == 'DEFAULT_HASHING_ALGORITHM':
3547+ warnings.warn(DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG, RemovedInDjango40Warning)
3548 super().__setattr__(name, value)
3549
3550 def __delattr__(self, name):
3551diff --git a/django/conf/app_template/apps.py-tpl b/django/conf/app_template/apps.py-tpl
3552index 9b2ce52..b705352 100644
3553--- a/django/conf/app_template/apps.py-tpl
3554+++ b/django/conf/app_template/apps.py-tpl
3555@@ -2,4 +2,5 @@ from django.apps import AppConfig
3556
3557
3558 class {{ camel_case_app_name }}Config(AppConfig):
3559+ default_auto_field = 'django.db.models.BigAutoField'
3560 name = '{{ app_name }}'
3561diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py
3562index f3abfad..cf9fae4 100644
3563--- a/django/conf/global_settings.py
3564+++ b/django/conf/global_settings.py
3565@@ -51,6 +51,7 @@ LANGUAGE_CODE = 'en-us'
3566 LANGUAGES = [
3567 ('af', gettext_noop('Afrikaans')),
3568 ('ar', gettext_noop('Arabic')),
3569+ ('ar-dz', gettext_noop('Algerian Arabic')),
3570 ('ast', gettext_noop('Asturian')),
3571 ('az', gettext_noop('Azerbaijani')),
3572 ('bg', gettext_noop('Bulgarian')),
3573@@ -92,6 +93,7 @@ LANGUAGES = [
3574 ('hy', gettext_noop('Armenian')),
3575 ('ia', gettext_noop('Interlingua')),
3576 ('id', gettext_noop('Indonesian')),
3577+ ('ig', gettext_noop('Igbo')),
3578 ('io', gettext_noop('Ido')),
3579 ('is', gettext_noop('Icelandic')),
3580 ('it', gettext_noop('Italian')),
3581@@ -102,6 +104,7 @@ LANGUAGES = [
3582 ('km', gettext_noop('Khmer')),
3583 ('kn', gettext_noop('Kannada')),
3584 ('ko', gettext_noop('Korean')),
3585+ ('ky', gettext_noop('Kyrgyz')),
3586 ('lb', gettext_noop('Luxembourgish')),
3587 ('lt', gettext_noop('Lithuanian')),
3588 ('lv', gettext_noop('Latvian')),
3589@@ -130,19 +133,22 @@ LANGUAGES = [
3590 ('sw', gettext_noop('Swahili')),
3591 ('ta', gettext_noop('Tamil')),
3592 ('te', gettext_noop('Telugu')),
3593+ ('tg', gettext_noop('Tajik')),
3594 ('th', gettext_noop('Thai')),
3595+ ('tk', gettext_noop('Turkmen')),
3596 ('tr', gettext_noop('Turkish')),
3597 ('tt', gettext_noop('Tatar')),
3598 ('udm', gettext_noop('Udmurt')),
3599 ('uk', gettext_noop('Ukrainian')),
3600 ('ur', gettext_noop('Urdu')),
3601+ ('uz', gettext_noop('Uzbek')),
3602 ('vi', gettext_noop('Vietnamese')),
3603 ('zh-hans', gettext_noop('Simplified Chinese')),
3604 ('zh-hant', gettext_noop('Traditional Chinese')),
3605 ]
3606
3607 # Languages using BiDi (right-to-left) layout
3608-LANGUAGES_BIDI = ["he", "ar", "fa", "ur"]
3609+LANGUAGES_BIDI = ["he", "ar", "ar-dz", "fa", "ur"]
3610
3611 # If you set this to False, Django will make some optimizations so as not
3612 # to load the internationalization machinery.
3613@@ -154,6 +160,9 @@ LANGUAGE_COOKIE_NAME = 'django_language'
3614 LANGUAGE_COOKIE_AGE = None
3615 LANGUAGE_COOKIE_DOMAIN = None
3616 LANGUAGE_COOKIE_PATH = '/'
3617+LANGUAGE_COOKIE_SECURE = False
3618+LANGUAGE_COOKIE_HTTPONLY = False
3619+LANGUAGE_COOKIE_SAMESITE = None
3620
3621
3622 # If you set this to True, Django will format dates, numbers and calendars
3623@@ -164,15 +173,10 @@ USE_L10N = False
3624 # notifications and other various emails.
3625 MANAGERS = ADMINS
3626
3627-# Default content type and charset to use for all HttpResponse objects, if a
3628-# MIME type isn't manually specified. These are used to construct the
3629-# Content-Type header.
3630-DEFAULT_CONTENT_TYPE = 'text/html'
3631+# Default charset to use for all HttpResponse objects, if a MIME type isn't
3632+# manually specified. It's used to construct the Content-Type header.
3633 DEFAULT_CHARSET = 'utf-8'
3634
3635-# Encoding of files read from disk (template and initial SQL files).
3636-FILE_CHARSET = 'utf-8'
3637-
3638 # Email address that error messages come from.
3639 SERVER_EMAIL = 'root@localhost'
3640
3641@@ -306,7 +310,7 @@ FILE_UPLOAD_TEMP_DIR = None
3642
3643 # The numeric mode to set newly-uploaded files to. The value should be a mode
3644 # you'd pass directly to os.chmod; see https://docs.python.org/library/os.html#files-and-directories.
3645-FILE_UPLOAD_PERMISSIONS = None
3646+FILE_UPLOAD_PERMISSIONS = 0o644
3647
3648 # The numeric mode to assign to newly-created directories, when uploading files.
3649 # The value should be a mode as you'd pass to os.chmod;
3650@@ -381,15 +385,12 @@ DATETIME_INPUT_FORMATS = [
3651 '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
3652 '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
3653 '%Y-%m-%d %H:%M', # '2006-10-25 14:30'
3654- '%Y-%m-%d', # '2006-10-25'
3655 '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
3656 '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
3657 '%m/%d/%Y %H:%M', # '10/25/2006 14:30'
3658- '%m/%d/%Y', # '10/25/2006'
3659 '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
3660 '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
3661 '%m/%d/%y %H:%M', # '10/25/06 14:30'
3662- '%m/%d/%y', # '10/25/06'
3663 ]
3664
3665 # First day of week, to be used on calendars
3666@@ -413,8 +414,11 @@ THOUSAND_SEPARATOR = ','
3667 DEFAULT_TABLESPACE = ''
3668 DEFAULT_INDEX_TABLESPACE = ''
3669
3670+# Default primary key field type.
3671+DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
3672+
3673 # Default X-Frame-Options header value
3674-X_FRAME_OPTIONS = 'SAMEORIGIN'
3675+X_FRAME_OPTIONS = 'DENY'
3676
3677 USE_X_FORWARDED_HOST = False
3678 USE_X_FORWARDED_PORT = False
3679@@ -435,6 +439,12 @@ WSGI_APPLICATION = None
3680 # you may be opening yourself up to a security risk.
3681 SECURE_PROXY_SSL_HEADER = None
3682
3683+# Default hashing algorithm to use for encoding cookies, password reset tokens
3684+# in the admin site, user sessions, and signatures. It's a transitional setting
3685+# helpful in migrating multiple instance of the same project to Django 3.1+.
3686+# Algorithm must be 'sha1' or 'sha256'.
3687+DEFAULT_HASHING_ALGORITHM = 'sha256'
3688+
3689 ##############
3690 # MIDDLEWARE #
3691 ##############
3692@@ -463,7 +473,7 @@ SESSION_COOKIE_PATH = '/'
3693 # Whether to use the HttpOnly flag.
3694 SESSION_COOKIE_HTTPONLY = True
3695 # Whether to set the flag restricting cookie leaks on cross-site requests.
3696-# This can be 'Lax', 'Strict', or None to disable the flag.
3697+# This can be 'Lax', 'Strict', 'None', or False to disable the flag.
3698 SESSION_COOKIE_SAMESITE = 'Lax'
3699 # Whether to save the session data on every request.
3700 SESSION_SAVE_EVERY_REQUEST = False
3701@@ -508,6 +518,9 @@ LOGOUT_REDIRECT_URL = None
3702 # The number of days a password reset link is valid for
3703 PASSWORD_RESET_TIMEOUT_DAYS = 3
3704
3705+# The number of seconds a password reset link is valid for (default: 3 days).
3706+PASSWORD_RESET_TIMEOUT = 60 * 60 * 24 * 3
3707+
3708 # the first hasher in this list is the preferred algorithm. any
3709 # password using different algorithms will be converted automatically
3710 # upon login
3711@@ -566,6 +579,10 @@ LOGGING_CONFIG = 'logging.config.dictConfig'
3712 # Custom logging configuration.
3713 LOGGING = {}
3714
3715+# Default exception reporter class used in case none has been
3716+# specifically assigned to the HttpRequest instance.
3717+DEFAULT_EXCEPTION_REPORTER = 'django.views.debug.ExceptionReporter'
3718+
3719 # Default exception reporter filter class used in case none has been
3720 # specifically assigned to the HttpRequest instance.
3721 DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
3722@@ -627,10 +644,11 @@ SILENCED_SYSTEM_CHECKS = []
3723 # SECURITY MIDDLEWARE #
3724 #######################
3725 SECURE_BROWSER_XSS_FILTER = False
3726-SECURE_CONTENT_TYPE_NOSNIFF = False
3727+SECURE_CONTENT_TYPE_NOSNIFF = True
3728 SECURE_HSTS_INCLUDE_SUBDOMAINS = False
3729 SECURE_HSTS_PRELOAD = False
3730 SECURE_HSTS_SECONDS = 0
3731 SECURE_REDIRECT_EXEMPT = []
3732+SECURE_REFERRER_POLICY = 'same-origin'
3733 SECURE_SSL_HOST = None
3734 SECURE_SSL_REDIRECT = False
3735diff --git a/django/conf/locale/__init__.py b/django/conf/locale/__init__.py
3736index 720045d..6285f20 100644
3737--- a/django/conf/locale/__init__.py
3738+++ b/django/conf/locale/__init__.py
3739@@ -20,6 +20,12 @@ LANG_INFO = {
3740 'name': 'Arabic',
3741 'name_local': 'العربيّة',
3742 },
3743+ 'ar-dz': {
3744+ 'bidi': True,
3745+ 'code': 'ar-dz',
3746+ 'name': 'Algerian Arabic',
3747+ 'name_local': 'العربية الجزائرية',
3748+ },
3749 'ast': {
3750 'bidi': False,
3751 'code': 'ast',
3752@@ -228,7 +234,7 @@ LANG_INFO = {
3753 'bidi': False,
3754 'code': 'hi',
3755 'name': 'Hindi',
3756- 'name_local': 'Hindi',
3757+ 'name_local': 'हिंदी',
3758 },
3759 'hr': {
3760 'bidi': False,
3761@@ -272,6 +278,12 @@ LANG_INFO = {
3762 'name': 'Indonesian',
3763 'name_local': 'Bahasa Indonesia',
3764 },
3765+ 'ig': {
3766+ 'bidi': False,
3767+ 'code': 'ig',
3768+ 'name': 'Igbo',
3769+ 'name_local': 'Asụsụ Ìgbò',
3770+ },
3771 'is': {
3772 'bidi': False,
3773 'code': 'is',
3774@@ -326,6 +338,12 @@ LANG_INFO = {
3775 'name': 'Korean',
3776 'name_local': '한국어',
3777 },
3778+ 'ky': {
3779+ 'bidi': False,
3780+ 'code': 'ky',
3781+ 'name': 'Kyrgyz',
3782+ 'name_local': 'Кыргызча',
3783+ },
3784 'lb': {
3785 'bidi': False,
3786 'code': 'lb',
3787@@ -354,7 +372,7 @@ LANG_INFO = {
3788 'bidi': False,
3789 'code': 'ml',
3790 'name': 'Malayalam',
3791- 'name_local': 'Malayalam',
3792+ 'name_local': 'മലയാളം',
3793 },
3794 'mn': {
3795 'bidi': False,
3796@@ -500,12 +518,24 @@ LANG_INFO = {
3797 'name': 'Telugu',
3798 'name_local': 'తెలుగు',
3799 },
3800+ 'tg': {
3801+ 'bidi': False,
3802+ 'code': 'tg',
3803+ 'name': 'Tajik',
3804+ 'name_local': 'тоҷикӣ',
3805+ },
3806 'th': {
3807 'bidi': False,
3808 'code': 'th',
3809 'name': 'Thai',
3810 'name_local': 'ภาษาไทย',
3811 },
3812+ 'tk': {
3813+ 'bidi': False,
3814+ 'code': 'tk',
3815+ 'name': 'Turkmen',
3816+ 'name_local': 'Türkmençe',
3817+ },
3818 'tr': {
3819 'bidi': False,
3820 'code': 'tr',
3821@@ -536,6 +566,12 @@ LANG_INFO = {
3822 'name': 'Urdu',
3823 'name_local': 'اردو',
3824 },
3825+ 'uz': {
3826+ 'bidi': False,
3827+ 'code': 'uz',
3828+ 'name': 'Uzbek',
3829+ 'name_local': 'oʻzbek tili',
3830+ },
3831 'vi': {
3832 'bidi': False,
3833 'code': 'vi',
3834diff --git a/django/conf/locale/af/LC_MESSAGES/django.mo b/django/conf/locale/af/LC_MESSAGES/django.mo
3835index ea048a7..5da1748 100644
3836Binary files a/django/conf/locale/af/LC_MESSAGES/django.mo and b/django/conf/locale/af/LC_MESSAGES/django.mo differ
3837diff --git a/django/conf/locale/af/LC_MESSAGES/django.po b/django/conf/locale/af/LC_MESSAGES/django.po
3838index f85a36d..f7084ad 100644
3839--- a/django/conf/locale/af/LC_MESSAGES/django.po
3840+++ b/django/conf/locale/af/LC_MESSAGES/django.po
3841@@ -1,16 +1,16 @@
3842 # This file is distributed under the same license as the Django package.
3843 #
3844 # Translators:
3845-# F Wolff <friedel@translate.org.za>, 2019
3846+# F Wolff <friedel@translate.org.za>, 2019-2020
3847 # Stephen Cox <stephencoxmail@gmail.com>, 2011-2012
3848 # unklphil <villiers.strauss@gmail.com>, 2014,2019
3849 msgid ""
3850 msgstr ""
3851 "Project-Id-Version: django\n"
3852 "Report-Msgid-Bugs-To: \n"
3853-"POT-Creation-Date: 2019-01-16 20:42+0100\n"
3854-"PO-Revision-Date: 2019-02-18 22:37+0000\n"
3855-"Last-Translator: unklphil <villiers.strauss@gmail.com>\n"
3856+"POT-Creation-Date: 2020-05-19 20:23+0200\n"
3857+"PO-Revision-Date: 2020-07-20 19:37+0000\n"
3858+"Last-Translator: F Wolff <friedel@translate.org.za>\n"
3859 "Language-Team: Afrikaans (http://www.transifex.com/django/django/language/"
3860 "af/)\n"
3861 "MIME-Version: 1.0\n"
3862@@ -25,6 +25,9 @@ msgstr "Afrikaans"
3863 msgid "Arabic"
3864 msgstr "Arabies"
3865
3866+msgid "Algerian Arabic"
3867+msgstr ""
3868+
3869 msgid "Asturian"
3870 msgstr "Asturies"
3871
3872@@ -148,6 +151,9 @@ msgstr "Interlingua"
3873 msgid "Indonesian"
3874 msgstr "Indonesies"
3875
3876+msgid "Igbo"
3877+msgstr ""
3878+
3879 msgid "Ido"
3880 msgstr "Ido"
3881
3882@@ -178,6 +184,9 @@ msgstr "Kannada"
3883 msgid "Korean"
3884 msgstr "Koreaans"
3885
3886+msgid "Kyrgyz"
3887+msgstr ""
3888+
3889 msgid "Luxembourgish"
3890 msgstr "Luxemburgs"
3891
3892@@ -262,9 +271,15 @@ msgstr "Tamil"
3893 msgid "Telugu"
3894 msgstr "Teloegoe"
3895
3896+msgid "Tajik"
3897+msgstr ""
3898+
3899 msgid "Thai"
3900 msgstr "Thai"
3901
3902+msgid "Turkmen"
3903+msgstr ""
3904+
3905 msgid "Turkish"
3906 msgstr "Turks"
3907
3908@@ -280,6 +295,9 @@ msgstr "Oekraïens"
3909 msgid "Urdu"
3910 msgstr "Oerdoe"
3911
3912+msgid "Uzbek"
3913+msgstr "Oesbekies "
3914+
3915 msgid "Vietnamese"
3916 msgstr "Viëtnamees"
3917
3918@@ -324,17 +342,13 @@ msgstr "Gee ’n geldige e-posadres."
3919
3920 #. Translators: "letters" means latin letters: a-z and A-Z.
3921 msgid ""
3922-"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens."
3923+"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens."
3924 msgstr ""
3925-"Gee ’n geldige \"slak\" in wat bestaan ​​uit letters, syfers, onderstreep of "
3926-"koppelteken."
3927
3928 msgid ""
3929-"Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or "
3930+"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or "
3931 "hyphens."
3932 msgstr ""
3933-"Gee ’n geldige “slak” in wat bestaan ​​uit Unicode-letters, syfers, "
3934-"onderstreep of koppelteken."
3935
3936 msgid "Enter a valid IPv4 address."
3937 msgstr "Gee ’n geldige IPv4-adres."
3938@@ -416,11 +430,9 @@ msgstr[1] ""
3939
3940 #, python-format
3941 msgid ""
3942-"File extension '%(extension)s' is not allowed. Allowed extensions are: "
3943-"'%(allowed_extensions)s'."
3944+"File extension “%(extension)s” is not allowed. Allowed extensions are: "
3945+"%(allowed_extensions)s."
3946 msgstr ""
3947-"Lêeruitbreiding “%(extension)s” word nie toegelaat nie. Toegelate "
3948-"uitbreidings is: “%(allowed_extensions)s”."
3949
3950 msgid "Null characters are not allowed."
3951 msgstr "Nul-karakters word nie toegelaat nie."
3952@@ -458,23 +470,13 @@ msgstr ""
3953 msgid "Field of type: %(field_type)s"
3954 msgstr "Veld van tipe: %(field_type)s "
3955
3956-msgid "Integer"
3957-msgstr "Heelgetal"
3958-
3959-#, python-format
3960-msgid "'%(value)s' value must be an integer."
3961-msgstr "Die waarde “%(value)s” moet ’n heelgetal wees."
3962-
3963-msgid "Big (8 byte) integer"
3964-msgstr "Groot (8 greep) heelgetal"
3965-
3966 #, python-format
3967-msgid "'%(value)s' value must be either True or False."
3968-msgstr "Die waarde “%(value)s” moet óf True (waar) óf False (vals) wees."
3969+msgid "“%(value)s” value must be either True or False."
3970+msgstr ""
3971
3972 #, python-format
3973-msgid "'%(value)s' value must be either True, False, or None."
3974-msgstr "Die waarde “%(value)s” moet True, False of None wees."
3975+msgid "“%(value)s” value must be either True, False, or None."
3976+msgstr ""
3977
3978 msgid "Boolean (Either True or False)"
3979 msgstr "Boole (True of False)"
3980@@ -488,56 +490,46 @@ msgstr "Heelgetalle geskei met kommas"
3981
3982 #, python-format
3983 msgid ""
3984-"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD "
3985+"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD "
3986 "format."
3987 msgstr ""
3988-"Die waarde “%(value)s” het ’n ongeldige datumformaat. Dit moet in die "
3989-"formaat JJJJ-MM-DD wees."
3990
3991 #, python-format
3992 msgid ""
3993-"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid "
3994+"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid "
3995 "date."
3996 msgstr ""
3997-"Die waarde “%(value)s” het die korrekte formaat (JJJJ-MM-DD), maar dit is ’n "
3998-"ongeldige datum."
3999
4000 msgid "Date (without time)"
4001 msgstr "Datum (sonder die tyd)"
4002
4003 #, python-format
4004 msgid ""
4005-"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
4006+"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
4007 "uuuuuu]][TZ] format."
4008 msgstr ""
4009-"Die waarde “%(value)s” se formaat is ongeldig. Dit moet in die formaat JJJJ-"
4010-"MM-DD HH:MM[:ss[.uuuuuu]][TZ] wees."
4011
4012 #, python-format
4013 msgid ""
4014-"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
4015+"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
4016 "[TZ]) but it is an invalid date/time."
4017 msgstr ""
4018-"Die waarde “%(value)s” het die korrekte formaat (JJJJ-MM-DD HH:MM[:ss[."
4019-"uuuuuu]][TZ]) maar dit is ’n ongeldige datum/tyd."
4020
4021 msgid "Date (with time)"
4022 msgstr "Datum (met die tyd)"
4023
4024 #, python-format
4025-msgid "'%(value)s' value must be a decimal number."
4026-msgstr "Die waarde “%(value)s” moet ’n desimale getal wees."
4027+msgid "“%(value)s” value must be a decimal number."
4028+msgstr "“%(value)s”-waarde moet ’n desimale getal wees."
4029
4030 msgid "Decimal number"
4031 msgstr "Desimale getal"
4032
4033 #, python-format
4034 msgid ""
4035-"'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[."
4036+"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[."
4037 "uuuuuu] format."
4038 msgstr ""
4039-"Die waarde “%(value)s” het ’n ongeldige formaat. Dit moet in die formaat "
4040-"[DD] [HH:[MM:]]ss[.uuuuuu] wees."
4041
4042 msgid "Duration"
4043 msgstr "Duur"
4044@@ -549,12 +541,22 @@ msgid "File path"
4045 msgstr "Lêerpad"
4046
4047 #, python-format
4048-msgid "'%(value)s' value must be a float."
4049-msgstr "Die waarde “%(value)s” moete ’n dryfpuntgetal wees."
4050+msgid "“%(value)s” value must be a float."
4051+msgstr ""
4052
4053 msgid "Floating point number"
4054 msgstr "Dryfpuntgetal"
4055
4056+#, python-format
4057+msgid "“%(value)s” value must be an integer."
4058+msgstr "“%(value)s”-waarde moet ’n heelgetal wees."
4059+
4060+msgid "Integer"
4061+msgstr "Heelgetal"
4062+
4063+msgid "Big (8 byte) integer"
4064+msgstr "Groot (8 greep) heelgetal"
4065+
4066 msgid "IPv4 address"
4067 msgstr "IPv4-adres"
4068
4069@@ -562,12 +564,15 @@ msgid "IP address"
4070 msgstr "IP-adres"
4071
4072 #, python-format
4073-msgid "'%(value)s' value must be either None, True or False."
4074-msgstr "Die waarde “%(value)s” moet None, True of False wees."
4075+msgid "“%(value)s” value must be either None, True or False."
4076+msgstr "“%(value)s”-waarde moet een wees uit None, True of False."
4077
4078 msgid "Boolean (Either True, False or None)"
4079 msgstr "Boole (True, False, of None)"
4080
4081+msgid "Positive big integer"
4082+msgstr "Positiewe groot heelgetal"
4083+
4084 msgid "Positive integer"
4085 msgstr "Positiewe heelgetal"
4086
4087@@ -586,19 +591,17 @@ msgstr "Teks"
4088
4089 #, python-format
4090 msgid ""
4091-"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
4092+"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
4093 "format."
4094 msgstr ""
4095-"Die waarde “%(value)s” se formaat is ongeldig. Dit moet in die formaat HH:"
4096-"MM[:ss[.uuuuuu]] wees."
4097+"“%(value)s”-waarde het ’n ongeldige formaat. Dit moet geformateer word as HH:"
4098+"MM[:ss[.uuuuuu]]."
4099
4100 #, python-format
4101 msgid ""
4102-"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
4103+"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
4104 "invalid time."
4105 msgstr ""
4106-"Die waarde “%(value)s” het die regte formaat (HH:MM[:ss[.uuuuuu]]) maar is "
4107-"nie ’n geldige tyd nie."
4108
4109 msgid "Time"
4110 msgstr "Tyd"
4111@@ -610,7 +613,7 @@ msgid "Raw binary data"
4112 msgstr "Rou binêre data"
4113
4114 #, python-format
4115-msgid "'%(value)s' is not a valid UUID."
4116+msgid "“%(value)s” is not a valid UUID."
4117 msgstr "“%(value)s” is nie ’n geldige UUID nie."
4118
4119 msgid "Universally unique identifier"
4120@@ -622,6 +625,12 @@ msgstr "Lêer"
4121 msgid "Image"
4122 msgstr "Prent"
4123
4124+msgid "A JSON object"
4125+msgstr "’n JSON-objek"
4126+
4127+msgid "Value must be valid JSON."
4128+msgstr "Waarde moet geldige JSON wees."
4129+
4130 #, python-format
4131 msgid "%(model)s instance with %(field)s %(value)r does not exist."
4132 msgstr "%(model)s-objek met %(field)s %(value)r bestaan nie."
4133@@ -716,6 +725,9 @@ msgstr "Tik ’n volledige waarde in."
4134 msgid "Enter a valid UUID."
4135 msgstr "Tik ’n geldig UUID in."
4136
4137+msgid "Enter a valid JSON."
4138+msgstr "Gee geldige JSON."
4139+
4140 #. Translators: This is the default suffix added to form field labels
4141 msgid ":"
4142 msgstr ":"
4143@@ -773,16 +785,14 @@ msgstr ""
4144 "nie."
4145
4146 #, python-format
4147-msgid "\"%(pk)s\" is not a valid value."
4148-msgstr "“%(pk)s” is nie 'n geldige waarde nie."
4149+msgid "“%(pk)s” is not a valid value."
4150+msgstr "“%(pk)s” is nie ’n geldige waarde nie."
4151
4152 #, python-format
4153 msgid ""
4154-"%(datetime)s couldn't be interpreted in time zone %(current_timezone)s; it "
4155+"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it "
4156 "may be ambiguous or it may not exist."
4157 msgstr ""
4158-"%(datetime)s kon nie in die tydsone %(current_timezone)s vertolk word nie; "
4159-"dit is dalk dubbelsinnig, of bestaan nie."
4160
4161 msgid "Clear"
4162 msgstr "Maak skoon"
4163@@ -802,6 +812,7 @@ msgstr "Ja"
4164 msgid "No"
4165 msgstr "Nee"
4166
4167+#. Translators: Please do not add spaces around commas.
4168 msgid "yes,no,maybe"
4169 msgstr "ja,nee,miskien"
4170
4171@@ -1110,9 +1121,6 @@ msgid_plural "%d minutes"
4172 msgstr[0] "%d minuut"
4173 msgstr[1] "%d minute"
4174
4175-msgid "0 minutes"
4176-msgstr "0 minute"
4177-
4178 msgid "Forbidden"
4179 msgstr "Verbode"
4180
4181@@ -1120,38 +1128,25 @@ msgid "CSRF verification failed. Request aborted."
4182 msgstr "CSRF-verifikasie het misluk. Versoek is laat val."
4183
4184 msgid ""
4185-"You are seeing this message because this HTTPS site requires a 'Referer "
4186-"header' to be sent by your Web browser, but none was sent. This header is "
4187+"You are seeing this message because this HTTPS site requires a “Referer "
4188+"header” to be sent by your Web browser, but none was sent. This header is "
4189 "required for security reasons, to ensure that your browser is not being "
4190 "hijacked by third parties."
4191 msgstr ""
4192-"U sien hierdie boodskap omdat dié HTTPS-werf vereis dat u blaaier ’n "
4193-"“Referer header” moet stuur, maar dit is nie gestuur nie. Hierdie header is "
4194-"vir sekuriteitsredes nodig om te verseker dat u blaaier nie deur derde "
4195-"partye gekaap is nie."
4196
4197 msgid ""
4198-"If you have configured your browser to disable 'Referer' headers, please re-"
4199-"enable them, at least for this site, or for HTTPS connections, or for 'same-"
4200-"origin' requests."
4201+"If you have configured your browser to disable “Referer” headers, please re-"
4202+"enable them, at least for this site, or for HTTPS connections, or for “same-"
4203+"origin” requests."
4204 msgstr ""
4205-"As “Referer headers” in u blaaier gedeaktiveer is, heraktiveer hulle asb. "
4206-"ten minste vir dié werf, of vir HTTPS-verbindings, of vir “same-origin”-"
4207-"versoeke."
4208
4209 msgid ""
4210 "If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or "
4211-"including the 'Referrer-Policy: no-referrer' header, please remove them. The "
4212-"CSRF protection requires the 'Referer' header to do strict referer checking. "
4213-"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer"
4214-"\" ...> for links to third-party sites."
4215+"including the “Referrer-Policy: no-referrer” header, please remove them. The "
4216+"CSRF protection requires the “Referer” header to do strict referer checking. "
4217+"If you’re concerned about privacy, use alternatives like <a rel=\"noreferrer"
4218+"\" …> for links to third-party sites."
4219 msgstr ""
4220-"Indien u die <meta name=\"referrer\" content=\"no-referrer\">-etiket gebruik "
4221-"of die “Referrer-Policy: no-referrer header” gebruik, verwyder hulle asb. "
4222-"Die CSRF-beskerming vereis die “Referer header” om streng kontrole van die "
4223-"verwysende bladsy te doen. Indien u besorg is oor privaatheid, gebruik "
4224-"alternatiewe soos <a rel=\"noreferrer\" ...> vir skakels na "
4225-"derdepartywebwerwe."
4226
4227 msgid ""
4228 "You are seeing this message because this site requires a CSRF cookie when "
4229@@ -1164,10 +1159,8 @@ msgstr ""
4230
4231 msgid ""
4232 "If you have configured your browser to disable cookies, please re-enable "
4233-"them, at least for this site, or for 'same-origin' requests."
4234+"them, at least for this site, or for “same-origin” requests."
4235 msgstr ""
4236-"Indien koekies in u blaaier gedeaktiveer is, heraktiveer hulle asb ten "
4237-"minste vir dié werf, of vir “same-origin”-versoeke."
4238
4239 msgid "More information is available with DEBUG=True."
4240 msgstr "Meer inligting is beskikbaar met DEBUG=True."
4241@@ -1200,31 +1193,30 @@ msgstr ""
4242 "%(class_name)s.allow_future vals is."
4243
4244 #, python-format
4245-msgid "Invalid date string '%(datestr)s' given format '%(format)s'"
4246-msgstr "Ongeldige datumstring “%(datestr)s” vir formaat “%(format)s”"
4247+msgid "Invalid date string “%(datestr)s” given format “%(format)s”"
4248+msgstr "Ongeldige datumstring “%(datestr)s” gegewe die formaat “%(format)s”"
4249
4250 #, python-format
4251 msgid "No %(verbose_name)s found matching the query"
4252 msgstr "Geen %(verbose_name)s gevind vir die soektog"
4253
4254-msgid "Page is not 'last', nor can it be converted to an int."
4255+msgid "Page is not “last”, nor can it be converted to an int."
4256 msgstr ""
4257-"Bladsy is nie “last” nie, en dit kan nie omgeskakel word na ’n heelgetal nie."
4258
4259 #, python-format
4260 msgid "Invalid page (%(page_number)s): %(message)s"
4261 msgstr "Ongeldige bladsy (%(page_number)s): %(message)s"
4262
4263 #, python-format
4264-msgid "Empty list and '%(class_name)s.allow_empty' is False."
4265-msgstr "Leë lys en “%(class_name)s.allow_empty” is vals."
4266+msgid "Empty list and “%(class_name)s.allow_empty” is False."
4267+msgstr ""
4268
4269 msgid "Directory indexes are not allowed here."
4270 msgstr "Gidsindekse word nie hier toegelaat nie."
4271
4272 #, python-format
4273-msgid "\"%(path)s\" does not exist"
4274-msgstr "“%(path)s” bestaan nie"
4275+msgid "“%(path)s” does not exist"
4276+msgstr "“%(path)s” bestaan nie."
4277
4278 #, python-format
4279 msgid "Index of %(directory)s"
4280@@ -1259,7 +1251,7 @@ msgstr ""
4281 msgid "Django Documentation"
4282 msgstr "Django-dokumentasie"
4283
4284-msgid "Topics, references, &amp; how-to's"
4285+msgid "Topics, references, &amp; how-to’s"
4286 msgstr ""
4287
4288 msgid "Tutorial: A Polling App"
4289diff --git a/django/conf/locale/ar/LC_MESSAGES/django.mo b/django/conf/locale/ar/LC_MESSAGES/django.mo
4290index 6330ab5..d65a93a 100644
4291Binary files a/django/conf/locale/ar/LC_MESSAGES/django.mo and b/django/conf/locale/ar/LC_MESSAGES/django.mo differ
4292diff --git a/django/conf/locale/ar/LC_MESSAGES/django.po b/django/conf/locale/ar/LC_MESSAGES/django.po
4293index d0c82d8..ccda018 100644
4294--- a/django/conf/locale/ar/LC_MESSAGES/django.po
4295+++ b/django/conf/locale/ar/LC_MESSAGES/django.po
4296@@ -1,18 +1,22 @@
4297 # This file is distributed under the same license as the Django package.
4298 #
4299 # Translators:
4300-# Bashar Al-Abdulhadi, 2015-2016
4301+# Bashar Al-Abdulhadi, 2015-2016,2020
4302 # Bashar Al-Abdulhadi, 2014
4303 # Eyad Toma <d.eyad.t@gmail.com>, 2013-2014
4304 # Jannis Leidel <jannis@leidel.info>, 2011
4305+# Muaaz Alsaied, 2020
4306+# Omar Al-Ithawi <omar.al.dolaimy@gmail.com>, 2020
4307 # Ossama Khayat <okhayat@gmail.com>, 2011
4308+# Tony xD <tony23dz@gmail.com>, 2020
4309+# صفا الفليج <safaalfulaij@hotmail.com>, 2020
4310 msgid ""
4311 msgstr ""
4312 "Project-Id-Version: django\n"
4313 "Report-Msgid-Bugs-To: \n"
4314-"POT-Creation-Date: 2017-11-15 16:15+0100\n"
4315-"PO-Revision-Date: 2017-11-16 01:13+0000\n"
4316-"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"
4317+"POT-Creation-Date: 2020-05-19 20:23+0200\n"
4318+"PO-Revision-Date: 2020-07-15 00:40+0000\n"
4319+"Last-Translator: Bashar Al-Abdulhadi\n"
4320 "Language-Team: Arabic (http://www.transifex.com/django/django/language/ar/)\n"
4321 "MIME-Version: 1.0\n"
4322 "Content-Type: text/plain; charset=UTF-8\n"
4323@@ -27,6 +31,9 @@ msgstr "الإفريقية"
4324 msgid "Arabic"
4325 msgstr "العربيّة"
4326
4327+msgid "Algerian Arabic"
4328+msgstr "عربي جزائري"
4329+
4330 msgid "Asturian"
4331 msgstr "الأسترية"
4332
4333@@ -141,12 +148,18 @@ msgstr "الصربية العليا"
4334 msgid "Hungarian"
4335 msgstr "الهنغاريّة"
4336
4337+msgid "Armenian"
4338+msgstr "الأرمنية"
4339+
4340 msgid "Interlingua"
4341 msgstr "اللغة الوسيطة"
4342
4343 msgid "Indonesian"
4344 msgstr "الإندونيسيّة"
4345
4346+msgid "Igbo"
4347+msgstr "الإيبو"
4348+
4349 msgid "Ido"
4350 msgstr "ايدو"
4351
4352@@ -162,6 +175,9 @@ msgstr "اليابانيّة"
4353 msgid "Georgian"
4354 msgstr "الجورجيّة"
4355
4356+msgid "Kabyle"
4357+msgstr "القبائل"
4358+
4359 msgid "Kazakh"
4360 msgstr "الكازاخستانية"
4361
4362@@ -174,6 +190,9 @@ msgstr "الهنديّة (كنّادا)"
4363 msgid "Korean"
4364 msgstr "الكوريّة"
4365
4366+msgid "Kyrgyz"
4367+msgstr "قيرغيز"
4368+
4369 msgid "Luxembourgish"
4370 msgstr "اللوكسمبرجية"
4371
4372@@ -258,9 +277,15 @@ msgstr "التاميل"
4373 msgid "Telugu"
4374 msgstr "التيلوغو"
4375
4376+msgid "Tajik"
4377+msgstr "طاجيك"
4378+
4379 msgid "Thai"
4380 msgstr "التايلنديّة"
4381
4382+msgid "Turkmen"
4383+msgstr "تركمان"
4384+
4385 msgid "Turkish"
4386 msgstr "التركيّة"
4387
4388@@ -276,6 +301,9 @@ msgstr "الأكرانيّة"
4389 msgid "Urdu"
4390 msgstr "الأوردو"
4391
4392+msgid "Uzbek"
4393+msgstr "الأوزبكي"
4394+
4395 msgid "Vietnamese"
4396 msgstr "الفيتناميّة"
4397
4398@@ -298,47 +326,49 @@ msgid "Syndication"
4399 msgstr "توظيف النشر"
4400
4401 msgid "That page number is not an integer"
4402-msgstr ""
4403+msgstr "رقم الصفحة هذا ليس عدداً طبيعياً"
4404
4405 msgid "That page number is less than 1"
4406-msgstr ""
4407+msgstr "رقم الصفحة أقل من 1"
4408
4409 msgid "That page contains no results"
4410-msgstr ""
4411+msgstr "هذه الصفحة لا تحتوي على نتائج"
4412
4413 msgid "Enter a valid value."
4414-msgstr "أدخل قيمة صحيحة."
4415+msgstr "أدخِل قيمة صحيحة."
4416
4417 msgid "Enter a valid URL."
4418-msgstr "أدخل رابطاً صحيحاً."
4419+msgstr "أدخِل رابطًا صحيحًا."
4420
4421 msgid "Enter a valid integer."
4422-msgstr "أدخل رقم صالح."
4423+msgstr "أدخِل عدداً طبيعياً."
4424
4425 msgid "Enter a valid email address."
4426-msgstr "أدخل عنوان بريد إلكتروني صحيح."
4427+msgstr "أدخِل عنوان بريد إلكتروني صحيح."
4428
4429 #. Translators: "letters" means latin letters: a-z and A-Z.
4430 msgid ""
4431-"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens."
4432+"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens."
4433 msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة."
4434
4435 msgid ""
4436-"Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or "
4437+"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or "
4438 "hyphens."
4439-msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة."
4440+msgstr ""
4441+"أدخل اختصار 'slug' صحيح يتكون من أحرف Unicode أو أرقام أو شرطات سفلية أو "
4442+"واصلات."
4443
4444 msgid "Enter a valid IPv4 address."
4445-msgstr "أدخل عنوان IPv4 صحيح."
4446+msgstr "أدخِل عنوان IPv4 صحيح."
4447
4448 msgid "Enter a valid IPv6 address."
4449-msgstr "أدخل عنوان IPv6 صحيح."
4450+msgstr "أدخِل عنوان IPv6 صحيح."
4451
4452 msgid "Enter a valid IPv4 or IPv6 address."
4453-msgstr "أدخل عنوان IPv4 أو عنوان IPv6 صحيح."
4454+msgstr "أدخِل عنوان IPv4 أو عنوان IPv6 صحيح."
4455
4456 msgid "Enter only digits separated by commas."
4457-msgstr "أدخل أرقاما فقط مفصول بينها بفواصل."
4458+msgstr "أدخِل فقط أرقامًا تفصلها الفواصل."
4459
4460 #, python-format
4461 msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)."
4462@@ -404,6 +434,9 @@ msgstr[5] ""
4463 "تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي "
4464 "حالياً على %(show_value)d)."
4465
4466+msgid "Enter a number."
4467+msgstr "أدخل رقماً."
4468+
4469 #, python-format
4470 msgid "Ensure that there are no more than %(max)s digit in total."
4471 msgid_plural "Ensure that there are no more than %(max)s digits in total."
4472@@ -438,12 +471,14 @@ msgstr[5] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل ا
4473
4474 #, python-format
4475 msgid ""
4476-"File extension '%(extension)s' is not allowed. Allowed extensions are: "
4477-"'%(allowed_extensions)s'."
4478+"File extension “%(extension)s” is not allowed. Allowed extensions are: "
4479+"%(allowed_extensions)s."
4480 msgstr ""
4481+"امتداد الملف “%(extension)s” غير مسموح به. الامتدادات المسموح بها هي:"
4482+"%(allowed_extensions)s."
4483
4484 msgid "Null characters are not allowed."
4485-msgstr ""
4486+msgstr "الأحرف الخالية غير مسموح بها."
4487
4488 msgid "and"
4489 msgstr "و"
4490@@ -478,19 +513,13 @@ msgstr ""
4491 msgid "Field of type: %(field_type)s"
4492 msgstr "حقل نوع: %(field_type)s"
4493
4494-msgid "Integer"
4495-msgstr "عدد صحيح"
4496-
4497 #, python-format
4498-msgid "'%(value)s' value must be an integer."
4499-msgstr "قيمة '%(value)s' يجب ان تكون عدد صحيح."
4500-
4501-msgid "Big (8 byte) integer"
4502-msgstr "عدد صحيح كبير (8 بايت)"
4503+msgid "“%(value)s” value must be either True or False."
4504+msgstr "قيمة '%(value)s' يجب أن تكون True أو False."
4505
4506 #, python-format
4507-msgid "'%(value)s' value must be either True or False."
4508-msgstr "قيمة '%(value)s' يجب أن تكون True أو False."
4509+msgid "“%(value)s” value must be either True, False, or None."
4510+msgstr "قيمة “%(value)s” يجب أن تكون True , False أو None."
4511
4512 msgid "Boolean (Either True or False)"
4513 msgstr "ثنائي (إما True أو False)"
4514@@ -504,7 +533,7 @@ msgstr "أرقام صحيحة مفصولة بفواصل"
4515
4516 #, python-format
4517 msgid ""
4518-"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD "
4519+"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD "
4520 "format."
4521 msgstr ""
4522 "قيمة '%(value)s' ليست من بُنية تاريخ صحيحة. القيمة يجب ان تكون من البُنية YYYY-"
4523@@ -512,7 +541,7 @@ msgstr ""
4524
4525 #, python-format
4526 msgid ""
4527-"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid "
4528+"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid "
4529 "date."
4530 msgstr "قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD) لكنها تحوي تاريخ غير صحيح."
4531
4532@@ -521,7 +550,7 @@ msgstr "التاريخ (دون الوقت)"
4533
4534 #, python-format
4535 msgid ""
4536-"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
4537+"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
4538 "uuuuuu]][TZ] format."
4539 msgstr ""
4540 "قيمة '%(value)s' ليست من بُنية صحيحة. القيمة يجب ان تكون من البُنية YYYY-MM-DD "
4541@@ -529,7 +558,7 @@ msgstr ""
4542
4543 #, python-format
4544 msgid ""
4545-"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
4546+"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
4547 "[TZ]) but it is an invalid date/time."
4548 msgstr ""
4549 "قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) لكنها "
4550@@ -539,7 +568,7 @@ msgid "Date (with time)"
4551 msgstr "التاريخ (مع الوقت)"
4552
4553 #, python-format
4554-msgid "'%(value)s' value must be a decimal number."
4555+msgid "“%(value)s” value must be a decimal number."
4556 msgstr "قيمة '%(value)s' يجب ان تكون عدد عشري."
4557
4558 msgid "Decimal number"
4559@@ -547,11 +576,11 @@ msgstr "رقم عشري"
4560
4561 #, python-format
4562 msgid ""
4563-"'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[."
4564+"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[."
4565 "uuuuuu] format."
4566 msgstr ""
4567-"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق [DD] [HH:"
4568-"[MM:]]ss[.uuuuuu]."
4569+"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق ([DD] "
4570+"[[HH:]MM:]ss[.uuuuuu])"
4571
4572 msgid "Duration"
4573 msgstr "المدّة"
4574@@ -563,12 +592,22 @@ msgid "File path"
4575 msgstr "مسار الملف"
4576
4577 #, python-format
4578-msgid "'%(value)s' value must be a float."
4579-msgstr "قيمة '%(value)s' يجب ان تكون عدد فاصل عائم."
4580+msgid "“%(value)s” value must be a float."
4581+msgstr "قيمة '%(value)s' يجب ان تكون عدد تعويم."
4582
4583 msgid "Floating point number"
4584 msgstr "رقم فاصلة عائمة"
4585
4586+#, python-format
4587+msgid "“%(value)s” value must be an integer."
4588+msgstr "قيمة '%(value)s' يجب ان تكون عدد طبيعي."
4589+
4590+msgid "Integer"
4591+msgstr "عدد صحيح"
4592+
4593+msgid "Big (8 byte) integer"
4594+msgstr "عدد صحيح كبير (8 بايت)"
4595+
4596 msgid "IPv4 address"
4597 msgstr "عنوان IPv4"
4598
4599@@ -576,12 +615,15 @@ msgid "IP address"
4600 msgstr "عنوان IP"
4601
4602 #, python-format
4603-msgid "'%(value)s' value must be either None, True or False."
4604+msgid "“%(value)s” value must be either None, True or False."
4605 msgstr "قيمة '%(value)s' يجب ان تكون None أو True أو False."
4606
4607 msgid "Boolean (Either True, False or None)"
4608 msgstr "ثنائي (إما True أو False أو None)"
4609
4610+msgid "Positive big integer"
4611+msgstr "عدد صحيح موجب كبير"
4612+
4613 msgid "Positive integer"
4614 msgstr "عدد صحيح موجب"
4615
4616@@ -600,15 +642,15 @@ msgstr "نص"
4617
4618 #, python-format
4619 msgid ""
4620-"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
4621+"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
4622 "format."
4623 msgstr ""
4624-"قيمة '%(value)s' ليست من بُنية صحيحة. القيمة يجب ان تكون من البُنية HH:MM[:ss[."
4625-"uuuuuu]]."
4626+"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق\n"
4627+"HH:MM[:ss[.uuuuuu]]"
4628
4629 #, python-format
4630 msgid ""
4631-"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
4632+"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
4633 "invalid time."
4634 msgstr ""
4635 "قيمة '%(value)s' من بُنية صحيحة (HH:MM[:ss[.uuuuuu]]) لكنها تحوي وقت غير صحيح."
4636@@ -623,8 +665,11 @@ msgid "Raw binary data"
4637 msgstr "البيانات الثنائية الخام"
4638
4639 #, python-format
4640-msgid "'%(value)s' is not a valid UUID."
4641-msgstr "'%(value)s' ليست قيمة UUID صحيحة."
4642+msgid "“%(value)s” is not a valid UUID."
4643+msgstr "القيمة \"%(value)s\" ليست UUID صالح."
4644+
4645+msgid "Universally unique identifier"
4646+msgstr "معرّف فريد عالمياً"
4647
4648 msgid "File"
4649 msgstr "ملف"
4650@@ -632,6 +677,12 @@ msgstr "ملف"
4651 msgid "Image"
4652 msgstr "صورة"
4653
4654+msgid "A JSON object"
4655+msgstr "كائن JSON"
4656+
4657+msgid "Value must be valid JSON."
4658+msgstr "يجب أن تكون قيمة JSON صالحة."
4659+
4660 #, python-format
4661 msgid "%(model)s instance with %(field)s %(value)r does not exist."
4662 msgstr "النموذج %(model)s ذو الحقل و القيمة %(field)s %(value)r غير موجود."
4663@@ -665,9 +716,6 @@ msgstr "هذا الحقل مطلوب."
4664 msgid "Enter a whole number."
4665 msgstr "أدخل رقما صحيحا."
4666
4667-msgid "Enter a number."
4668-msgstr "أدخل رقماً."
4669-
4670 msgid "Enter a valid date."
4671 msgstr "أدخل تاريخاً صحيحاً."
4672
4673@@ -680,6 +728,10 @@ msgstr "أدخل تاريخاً/وقتاً صحيحاً."
4674 msgid "Enter a valid duration."
4675 msgstr "أدخل مدّة صحيحة"
4676
4677+#, python-brace-format
4678+msgid "The number of days must be between {min_days} and {max_days}."
4679+msgstr "يجب أن يكون عدد الأيام بين {min_days} و {max_days}."
4680+
4681 msgid "No file was submitted. Check the encoding type on the form."
4682 msgstr "لم يتم ارسال ملف، الرجاء التأكد من نوع ترميز الاستمارة."
4683
4684@@ -735,6 +787,9 @@ msgstr "إدخال قيمة كاملة."
4685 msgid "Enter a valid UUID."
4686 msgstr "أدخل قيمة UUID صحيحة."
4687
4688+msgid "Enter a valid JSON."
4689+msgstr "أدخل مدخل JSON صالح."
4690+
4691 #. Translators: This is the default suffix added to form field labels
4692 msgid ":"
4693 msgstr ":"
4694@@ -792,18 +847,18 @@ msgid "Please correct the duplicate values below."
4695 msgstr "رجاءً صحّح القيم المُكرّرة أدناه."
4696
4697 msgid "The inline value did not match the parent instance."
4698-msgstr ""
4699+msgstr "لا تتطابق القيمة المضمنة مع المثيل الأصلي."
4700
4701 msgid "Select a valid choice. That choice is not one of the available choices."
4702 msgstr "انتق خياراً صحيحاً. اختيارك ليس أحد الخيارات المتاحة."
4703
4704 #, python-format
4705-msgid "\"%(pk)s\" is not a valid value."
4706-msgstr ""
4707+msgid "“%(pk)s” is not a valid value."
4708+msgstr "\"%(pk)s\" ليست قيمة صالحة."
4709
4710 #, python-format
4711 msgid ""
4712-"%(datetime)s couldn't be interpreted in time zone %(current_timezone)s; it "
4713+"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it "
4714 "may be ambiguous or it may not exist."
4715 msgstr ""
4716 "%(datetime)s لا يمكن تفسيرها في المنطقة الزمنية %(current_timezone)s; قد "
4717@@ -827,6 +882,7 @@ msgstr "نعم"
4718 msgid "No"
4719 msgstr "لا"
4720
4721+#. Translators: Please do not add spaces around commas.
4722 msgid "yes,no,maybe"
4723 msgstr "نعم,لا,ربما"
4724
4725@@ -1093,7 +1149,7 @@ msgstr "هذا ليس عنوان IPv6 صحيح."
4726
4727 #, python-format
4728 msgctxt "String to return when truncating text"
4729-msgid "%(truncated_text)s..."
4730+msgid "%(truncated_text)s…"
4731 msgstr "%(truncated_text)s..."
4732
4733 msgid "or"
4734@@ -1163,9 +1219,6 @@ msgstr[3] "%d دقائق"
4735 msgstr[4] "%d دقيقة"
4736 msgstr[5] "%d دقيقة"
4737
4738-msgid "0 minutes"
4739-msgstr "0 دقيقة"
4740-
4741 msgid "Forbidden"
4742 msgstr "ممنوع"
4743
4744@@ -1173,31 +1226,34 @@ msgid "CSRF verification failed. Request aborted."
4745 msgstr "تم الفشل للتحقق من CSRF. تم إنهاء الطلب."
4746
4747 msgid ""
4748-"You are seeing this message because this HTTPS site requires a 'Referer "
4749-"header' to be sent by your Web browser, but none was sent. This header is "
4750+"You are seeing this message because this HTTPS site requires a “Referer "
4751+"header” to be sent by your Web browser, but none was sent. This header is "
4752 "required for security reasons, to ensure that your browser is not being "
4753 "hijacked by third parties."
4754 msgstr ""
4755-"أنت ترى هذه الرسالة لأن هذا الموقع HTTPS يتطلب إرسال 'Referer header' من "
4756-"قبل المتصفح، ولكن لم تم إرسال أي شيء. هذا الـheader مطلوب لأسباب أمنية، "
4757-"لضمان أن متصفحك لم يتم اختطافه من قبل أطراف أخرى."
4758+"تظهر لك هذه الرسالة لأن موقع HTTPS يتطلب \"رأس مرجعي\" ليتم إرساله بواسطة "
4759+"مستعرض الويب الخاص بك ، ولكن لم يتم إرسال أي منها. هذا العنوان مطلوب لأسباب "
4760+"أمنية ، للتأكد من أن متصفحك لا يتم اختراقه من قبل أطراف ثالثة."
4761
4762 msgid ""
4763-"If you have configured your browser to disable 'Referer' headers, please re-"
4764-"enable them, at least for this site, or for HTTPS connections, or for 'same-"
4765-"origin' requests."
4766+"If you have configured your browser to disable “Referer” headers, please re-"
4767+"enable them, at least for this site, or for HTTPS connections, or for “same-"
4768+"origin” requests."
4769 msgstr ""
4770-"إذا قمت بضبط متصفحك لتعطيل 'Referer headers'، يرجى إعادة تفعيلها، على الأقل "
4771-"بالنسبة لهذا الموقع، أو لاتصالات HTTPS، أو للطلبات من نفس المنشأ 'same-"
4772-"origin'."
4773+"إذا قمت بتكوين المستعرض لتعطيل رؤوس “Referer” ، فيرجى إعادة تمكينها ، على "
4774+"الأقل لهذا الموقع ، أو لاتصالات HTTPS ، أو لطلبات “same-origin”."
4775
4776 msgid ""
4777 "If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or "
4778-"including the 'Referrer-Policy: no-referrer' header, please remove them. The "
4779-"CSRF protection requires the 'Referer' header to do strict referer checking. "
4780-"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer"
4781-"\" ...> for links to third-party sites."
4782+"including the “Referrer-Policy: no-referrer” header, please remove them. The "
4783+"CSRF protection requires the “Referer” header to do strict referer checking. "
4784+"If you’re concerned about privacy, use alternatives like <a rel=\"noreferrer"
4785+"\" …> for links to third-party sites."
4786 msgstr ""
4787+"إذا كنت تستخدم العلامة <meta name=\"referrer\" content=\"no-referrer\"> أو "
4788+"تضمين رأس “Referrer-Policy: no-referrer”، يرجى إزالتها. تتطلب حماية CSRF أن "
4789+"يقوم رأس “Referer” بإجراء فحص صارم للمراجع. إذا كنت قلقًا بشأن الخصوصية ، "
4790+"فاستخدم بدائل مثل <a rel=\"noreferrer\" …> للروابط إلى مواقع الجهات الخارجية."
4791
4792 msgid ""
4793 "You are seeing this message because this site requires a CSRF cookie when "
4794@@ -1210,10 +1266,10 @@ msgstr ""
4795
4796 msgid ""
4797 "If you have configured your browser to disable cookies, please re-enable "
4798-"them, at least for this site, or for 'same-origin' requests."
4799+"them, at least for this site, or for “same-origin” requests."
4800 msgstr ""
4801 "إذا قمت بضبط المتصفح لتعطيل الكوكيز الرجاء إعادة تغعيلها، على الأقل بالنسبة "
4802-"لهذا الموقع، أو للطلبات من نفس المنشأ 'same-origin'."
4803+"لهذا الموقع، أو للطلبات من “same-origin”."
4804
4805 msgid "More information is available with DEBUG=True."
4806 msgstr "يتوفر مزيد من المعلومات عند ضبط الخيار DEBUG=True."
4807@@ -1222,7 +1278,7 @@ msgid "No year specified"
4808 msgstr "لم تحدد السنة"
4809
4810 msgid "Date out of range"
4811-msgstr ""
4812+msgstr "التاريخ خارج النطاق"
4813
4814 msgid "No month specified"
4815 msgstr "لم تحدد الشهر"
4816@@ -1246,46 +1302,51 @@ msgstr ""
4817 "allow_future هي False."
4818
4819 #, python-format
4820-msgid "Invalid date string '%(datestr)s' given format '%(format)s'"
4821-msgstr "نسق تاريخ غير صحيح '%(datestr)s' محدد بالشكل '%(format)s'"
4822+msgid "Invalid date string “%(datestr)s” given format “%(format)s”"
4823+msgstr "نسق تاريخ غير صحيح \"%(datestr)s\" محدد بالشكل ''%(format)s\""
4824
4825 #, python-format
4826 msgid "No %(verbose_name)s found matching the query"
4827 msgstr "لم يعثر على أي %(verbose_name)s مطابقة لهذا الإستعلام"
4828
4829-msgid "Page is not 'last', nor can it be converted to an int."
4830-msgstr "الصفحة ليست 'الأخيرة'، ولا يمكن تحويل القيمة إلى رقم صحيح."
4831+msgid "Page is not “last”, nor can it be converted to an int."
4832+msgstr "الصفحة ليست \"الأخيرة\"، كما لا يمكن تحويل القيمة إلى رقم طبيعي."
4833
4834 #, python-format
4835 msgid "Invalid page (%(page_number)s): %(message)s"
4836 msgstr "صفحة خاطئة (%(page_number)s): %(message)s"
4837
4838 #, python-format
4839-msgid "Empty list and '%(class_name)s.allow_empty' is False."
4840-msgstr "قائمة فارغة و '%(class_name)s.allow_empty' قيمته False."
4841+msgid "Empty list and “%(class_name)s.allow_empty” is False."
4842+msgstr ""
4843+"قائمة فارغة و\n"
4844+"\"%(class_name)s.allow_empty\"\n"
4845+"قيمته False."
4846
4847 msgid "Directory indexes are not allowed here."
4848 msgstr "لا يسمح لفهارس الدليل هنا."
4849
4850 #, python-format
4851-msgid "\"%(path)s\" does not exist"
4852-msgstr "المسار \"%(path)s\" غير موجود."
4853+msgid "“%(path)s” does not exist"
4854+msgstr "”%(path)s“ غير موجود"
4855
4856 #, python-format
4857 msgid "Index of %(directory)s"
4858 msgstr "فهرس لـ %(directory)s"
4859
4860 msgid "Django: the Web framework for perfectionists with deadlines."
4861-msgstr ""
4862+msgstr "جانغو: إطار الويب للمهتمين بالكمال و لديهم مواعيد تسليم نهائية."
4863
4864 #, python-format
4865 msgid ""
4866 "View <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" "
4867 "target=\"_blank\" rel=\"noopener\">release notes</a> for Django %(version)s"
4868 msgstr ""
4869+"استعراض <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" "
4870+"target=\"_blank\" rel=\"noopener\">ملاحظات الإصدار</a> لجانغو %(version)s"
4871
4872 msgid "The install worked successfully! Congratulations!"
4873-msgstr ""
4874+msgstr "تمت عملية التنصيب بنجاح! تهانينا!"
4875
4876 #, python-format
4877 msgid ""
4878@@ -1294,21 +1355,24 @@ msgid ""
4879 "\">DEBUG=True</a> is in your settings file and you have not configured any "
4880 "URLs."
4881 msgstr ""
4882+"تظهر لك هذه الصفحة لأن <a href=\"https://docs.djangoproject.com/en/"
4883+"%(version)s/ref/settings/#debug\" target=\"_blank\" rel=\"noopener"
4884+"\">DEBUG=True</a> في ملف settings خاصتك كما أنك لم تقم بإعداد الروابط URLs."
4885
4886 msgid "Django Documentation"
4887-msgstr ""
4888+msgstr "وثائق تعليمات جانغو"
4889
4890-msgid "Topics, references, &amp; how-to's"
4891-msgstr ""
4892+msgid "Topics, references, &amp; how-to’s"
4893+msgstr "المواضيع و المراجع و التعليمات"
4894
4895 msgid "Tutorial: A Polling App"
4896-msgstr ""
4897+msgstr "برنامج تعليمي: تطبيق تصويت"
4898
4899 msgid "Get started with Django"
4900-msgstr ""
4901+msgstr "إبدأ مع جانغو"
4902
4903 msgid "Django Community"
4904-msgstr ""
4905+msgstr "مجتمع جانغو"
4906
4907 msgid "Connect, get help, or contribute"
4908-msgstr ""
4909+msgstr "اتصل بنا أو احصل على مساعدة أو ساهم"
4910diff --git a/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo b/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo
4911new file mode 100644
4912index 0000000..1fce7bc
4913Binary files /dev/null and b/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo differ
4914diff --git a/django/conf/locale/ar_DZ/LC_MESSAGES/django.po b/django/conf/locale/ar_DZ/LC_MESSAGES/django.po
4915new file mode 100644
4916index 0000000..373dea1
4917--- /dev/null
4918+++ b/django/conf/locale/ar_DZ/LC_MESSAGES/django.po
4919@@ -0,0 +1,1379 @@
4920+# This file is distributed under the same license as the Django package.
4921+#
4922+# Translators:
4923+# Riterix <infosrabah@gmail.com>, 2019-2020
4924+# Riterix <infosrabah@gmail.com>, 2019
4925+msgid ""
4926+msgstr ""
4927+"Project-Id-Version: django\n"
4928+"Report-Msgid-Bugs-To: \n"
4929+"POT-Creation-Date: 2020-05-19 20:23+0200\n"
4930+"PO-Revision-Date: 2020-07-14 21:42+0000\n"
4931+"Last-Translator: Transifex Bot <>\n"
4932+"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/"
4933+"language/ar_DZ/)\n"
4934+"MIME-Version: 1.0\n"
4935+"Content-Type: text/plain; charset=UTF-8\n"
4936+"Content-Transfer-Encoding: 8bit\n"
4937+"Language: ar_DZ\n"
4938+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
4939+"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
4940+
4941+msgid "Afrikaans"
4942+msgstr "الإفريقية"
4943+
4944+msgid "Arabic"
4945+msgstr "العربية"
4946+
4947+msgid "Algerian Arabic"
4948+msgstr "العربية الجزائرية"
4949+
4950+msgid "Asturian"
4951+msgstr "الأسترية"
4952+
4953+msgid "Azerbaijani"
4954+msgstr "الأذربيجانية"
4955+
4956+msgid "Bulgarian"
4957+msgstr "البلغارية"
4958+
4959+msgid "Belarusian"
4960+msgstr "البيلاروسية"
4961+
4962+msgid "Bengali"
4963+msgstr "البنغالية"
4964+
4965+msgid "Breton"
4966+msgstr "البريتونية"
4967+
4968+msgid "Bosnian"
4969+msgstr "البوسنية"
4970+
4971+msgid "Catalan"
4972+msgstr "الكتلانية"
4973+
4974+msgid "Czech"
4975+msgstr "التشيكية"
4976+
4977+msgid "Welsh"
4978+msgstr "الويلز"
4979+
4980+msgid "Danish"
4981+msgstr "الدنماركية"
4982+
4983+msgid "German"
4984+msgstr "الألمانية"
4985+
4986+msgid "Lower Sorbian"
4987+msgstr "الصربية السفلى"
4988+
4989+msgid "Greek"
4990+msgstr "اليونانية"
4991+
4992+msgid "English"
4993+msgstr "الإنجليزية"
4994+
4995+msgid "Australian English"
4996+msgstr "الإنجليزية الإسترالية"
4997+
4998+msgid "British English"
4999+msgstr "الإنجليزية البريطانية"
5000+
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches