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
diff --git a/AUTHORS b/AUTHORS
index b8c688c..f2a38ac 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -12,6 +12,7 @@ answer newbie questions, and generally made Django that much better:
12 Abhijeet Viswa <abhijeetviswa@gmail.com>12 Abhijeet Viswa <abhijeetviswa@gmail.com>
13 Abhinav Patil <https://github.com/ubadub/>13 Abhinav Patil <https://github.com/ubadub/>
14 Abhishek Gautam <abhishekg1128@yahoo.com>14 Abhishek Gautam <abhishekg1128@yahoo.com>
15 Abhyudai <https://github.com/abhiabhi94>
15 Adam Allred <adam.w.allred@gmail.com>16 Adam Allred <adam.w.allred@gmail.com>
16 Adam Bogdał <adam@bogdal.pl>17 Adam Bogdał <adam@bogdal.pl>
17 Adam Donaghy18 Adam Donaghy
@@ -34,13 +35,15 @@ answer newbie questions, and generally made Django that much better:
34 Akshesh Doshi <aksheshdoshi+django@gmail.com>35 Akshesh Doshi <aksheshdoshi+django@gmail.com>
35 alang@bright-green.com36 alang@bright-green.com
36 Alasdair Nicol <https://al.sdair.co.uk/>37 Alasdair Nicol <https://al.sdair.co.uk/>
37 Albert Wang <aywang31@gmail.com>38 Albert Wang <https://github.com/albertyw/>
38 Alcides Fonseca39 Alcides Fonseca
40 Aldian Fazrihady <mobile@aldian.net>
39 Aleksandra Sendecka <asendecka@hauru.eu>41 Aleksandra Sendecka <asendecka@hauru.eu>
40 Aleksi Häkli <aleksi.hakli@iki.fi>42 Aleksi Häkli <aleksi.hakli@iki.fi>
41 Alexander Dutton <dev@alexdutton.co.uk>43 Alexander Dutton <dev@alexdutton.co.uk>
42 Alexander Myodov <alex@myodov.com>44 Alexander Myodov <alex@myodov.com>
43 Alexandr Tatarinov <tatarinov1997@gmail.com>45 Alexandr Tatarinov <tatarinov.dev@gmail.com>
46 Alex Aktsipetrov <alex.akts@gmail.com>
44 Alex Becker <https://alexcbecker.net/>47 Alex Becker <https://alexcbecker.net/>
45 Alex Couper <http://alexcouper.com/>48 Alex Couper <http://alexcouper.com/>
46 Alex Dedul49 Alex Dedul
@@ -49,6 +52,8 @@ answer newbie questions, and generally made Django that much better:
49 Alex Ogier <alex.ogier@gmail.com>52 Alex Ogier <alex.ogier@gmail.com>
50 Alex Robbins <alexander.j.robbins@gmail.com>53 Alex Robbins <alexander.j.robbins@gmail.com>
51 Alexey Boriskin <alex@boriskin.me>54 Alexey Boriskin <alex@boriskin.me>
55 Alexey Tsivunin <most-208@yandex.ru>
56 Ali Vakilzade <ali@vakilzade.com>
52 Aljosa Mohorovic <aljosa.mohorovic@gmail.com>57 Aljosa Mohorovic <aljosa.mohorovic@gmail.com>
53 Amit Chakradeo <https://amit.chakradeo.net/>58 Amit Chakradeo <https://amit.chakradeo.net/>
54 Amit Ramon <amit.ramon@gmail.com>59 Amit Ramon <amit.ramon@gmail.com>
@@ -70,6 +75,7 @@ answer newbie questions, and generally made Django that much better:
70 Andrew Pinkham <http://AndrewsForge.com>75 Andrew Pinkham <http://AndrewsForge.com>
71 Andrews Medina <andrewsmedina@gmail.com>76 Andrews Medina <andrewsmedina@gmail.com>
72 Andriy Sokolovskiy <me@asokolovskiy.com>77 Andriy Sokolovskiy <me@asokolovskiy.com>
78 Andy Chosak <andy@chosak.org>
73 Andy Dustman <farcepest@gmail.com>79 Andy Dustman <farcepest@gmail.com>
74 Andy Gayton <andy-django@thecablelounge.com>80 Andy Gayton <andy-django@thecablelounge.com>
75 andy@jadedplanet.net81 andy@jadedplanet.net
@@ -89,6 +95,7 @@ answer newbie questions, and generally made Django that much better:
89 Aron Podrigal <aronp@guaranteedplus.com>95 Aron Podrigal <aronp@guaranteedplus.com>
90 Artem Gnilov <boobsd@gmail.com>96 Artem Gnilov <boobsd@gmail.com>
91 Arthur <avandorp@gmail.com>97 Arthur <avandorp@gmail.com>
98 Arthur Jovart <arthur@jovart.com>
92 Arthur Koziel <http://arthurkoziel.com>99 Arthur Koziel <http://arthurkoziel.com>
93 Arthur Rio <arthur.rio44@gmail.com>100 Arthur Rio <arthur.rio44@gmail.com>
94 Arvis Bickovskis <viestards.lists@gmail.com>101 Arvis Bickovskis <viestards.lists@gmail.com>
@@ -105,11 +112,13 @@ answer newbie questions, and generally made Django that much better:
105 Baptiste Mispelon <bmispelon@gmail.com>112 Baptiste Mispelon <bmispelon@gmail.com>
106 Barry Pederson <bp@barryp.org>113 Barry Pederson <bp@barryp.org>
107 Bartolome Sanchez Salado <i42sasab@uco.es>114 Bartolome Sanchez Salado <i42sasab@uco.es>
115 Barton Ip <notbartonip@gmail.com>
108 Bartosz Grabski <bartosz.grabski@gmail.com>116 Bartosz Grabski <bartosz.grabski@gmail.com>
109 Bashar Al-Abdulhadi117 Bashar Al-Abdulhadi
110 Bastian Kleineidam <calvin@debian.org>118 Bastian Kleineidam <calvin@debian.org>
111 Batiste Bieler <batiste.bieler@gmail.com>119 Batiste Bieler <batiste.bieler@gmail.com>
112 Batman120 Batman
121 Batuhan Taskaya <batuhanosmantaskaya@gmail.com>
113 Baurzhan Ismagulov <ibr@radix50.net>122 Baurzhan Ismagulov <ibr@radix50.net>
114 Ben Dean Kawamura <ben.dean.kawamura@gmail.com>123 Ben Dean Kawamura <ben.dean.kawamura@gmail.com>
115 Ben Firshman <ben@firshman.co.uk>124 Ben Firshman <ben@firshman.co.uk>
@@ -140,6 +149,7 @@ answer newbie questions, and generally made Django that much better:
140 Brian Beck <http://blog.brianbeck.com/>149 Brian Beck <http://blog.brianbeck.com/>
141 Brian Fabian Crain <http://www.bfc.do/>150 Brian Fabian Crain <http://www.bfc.do/>
142 Brian Harring <ferringb@gmail.com>151 Brian Harring <ferringb@gmail.com>
152 Brian Helba <brian.helba@kitware.com>
143 Brian Ray <http://brianray.chipy.org/>153 Brian Ray <http://brianray.chipy.org/>
144 Brian Rosner <brosner@gmail.com>154 Brian Rosner <brosner@gmail.com>
145 Bruce Kroeze <https://coderseye.com/>155 Bruce Kroeze <https://coderseye.com/>
@@ -156,6 +166,7 @@ answer newbie questions, and generally made Django that much better:
156 Cameron Curry166 Cameron Curry
157 Cameron Knight (ckknight)167 Cameron Knight (ckknight)
158 Can Burak Çilingir <canburak@cs.bilgi.edu.tr>168 Can Burak Çilingir <canburak@cs.bilgi.edu.tr>
169 Can Sarıgöl <ertugrulsarigol@gmail.com>
159 Carl Meyer <carl@oddbird.net>170 Carl Meyer <carl@oddbird.net>
160 Carles Pina i Estany <carles@pina.cat>171 Carles Pina i Estany <carles@pina.cat>
161 Carlos Eduardo de Paula <carlosedp@gmail.com>172 Carlos Eduardo de Paula <carlosedp@gmail.com>
@@ -166,6 +177,7 @@ answer newbie questions, and generally made Django that much better:
166 ChaosKCW177 ChaosKCW
167 Charlie Leifer <coleifer@gmail.com>178 Charlie Leifer <coleifer@gmail.com>
168 charly.wilhelm@gmail.com179 charly.wilhelm@gmail.com
180 Chason Chaffin <chason@gmail.com>
169 Cheng Zhang181 Cheng Zhang
170 Chris Adams182 Chris Adams
171 Chris Beaven <smileychris@gmail.com>183 Chris Beaven <smileychris@gmail.com>
@@ -180,6 +192,7 @@ answer newbie questions, and generally made Django that much better:
180 Christian Metts192 Christian Metts
181 Christian Oudard <christian.oudard@gmail.com>193 Christian Oudard <christian.oudard@gmail.com>
182 Christian Tanzer <tanzer@swing.co.at>194 Christian Tanzer <tanzer@swing.co.at>
195 Christoffer Sjöbergsson
183 Christophe Pettus <xof@thebuild.com>196 Christophe Pettus <xof@thebuild.com>
184 Christopher Adams <http://christopheradams.info>197 Christopher Adams <http://christopheradams.info>
185 Christopher Babiak <chrisbabiak@gmail.com>198 Christopher Babiak <chrisbabiak@gmail.com>
@@ -194,6 +207,7 @@ answer newbie questions, and generally made Django that much better:
194 Colin Wood <cwood06@gmail.com>207 Colin Wood <cwood06@gmail.com>
195 Collin Anderson <cmawebsite@gmail.com>208 Collin Anderson <cmawebsite@gmail.com>
196 Collin Grady <collin@collingrady.com>209 Collin Grady <collin@collingrady.com>
210 Colton Hicks <coltonbhicks@gmail.com>
197 Craig Blaszczyk <masterjakul@gmail.com>211 Craig Blaszczyk <masterjakul@gmail.com>
198 crankycoder@gmail.com212 crankycoder@gmail.com
199 Curtis Maloney (FunkyBob) <curtis@tinbrain.net>213 Curtis Maloney (FunkyBob) <curtis@tinbrain.net>
@@ -211,6 +225,7 @@ answer newbie questions, and generally made Django that much better:
211 Daniel Poelzleithner <https://poelzi.org/>225 Daniel Poelzleithner <https://poelzi.org/>
212 Daniel Pyrathon <pirosb3@gmail.com>226 Daniel Pyrathon <pirosb3@gmail.com>
213 Daniel Roseman <http://roseman.org.uk/>227 Daniel Roseman <http://roseman.org.uk/>
228 Daniel Tao <https://philosopherdeveloper.com/>
214 Daniel Wiesmann <daniel.wiesmann@gmail.com>229 Daniel Wiesmann <daniel.wiesmann@gmail.com>
215 Danilo Bargen230 Danilo Bargen
216 Dan Johnson <danj.py@gmail.com>231 Dan Johnson <danj.py@gmail.com>
@@ -235,9 +250,12 @@ answer newbie questions, and generally made Django that much better:
235 David Sanders <dsanders11@ucsbalum.com>250 David Sanders <dsanders11@ucsbalum.com>
236 David Schein251 David Schein
237 David Tulig <david.tulig@gmail.com>252 David Tulig <david.tulig@gmail.com>
253 David Wobrock <david.wobrock@gmail.com>
238 Davide Ceretti <dav.ceretti@gmail.com>254 Davide Ceretti <dav.ceretti@gmail.com>
255 Deep L. Sukhwani <deepsukhwani@gmail.com>
239 Deepak Thukral <deep.thukral@gmail.com>256 Deepak Thukral <deep.thukral@gmail.com>
240 Denis Kuzmichyov <kuzmichyov@gmail.com>257 Denis Kuzmichyov <kuzmichyov@gmail.com>
258 Dennis Schwertel <dennisschwertel@gmail.com>
241 Derek Willis <http://blog.thescoop.org/>259 Derek Willis <http://blog.thescoop.org/>
242 Deric Crago <deric.crago@gmail.com>260 Deric Crago <deric.crago@gmail.com>
243 deric@monowerks.com261 deric@monowerks.com
@@ -248,6 +266,7 @@ answer newbie questions, and generally made Django that much better:
248 Dmitri Fedortchenko <zeraien@gmail.com>266 Dmitri Fedortchenko <zeraien@gmail.com>
249 Dmitry Jemerov <intelliyole@gmail.com>267 Dmitry Jemerov <intelliyole@gmail.com>
250 dne@mayonnaise.net268 dne@mayonnaise.net
269 Dolan Antenucci <antenucci.d@gmail.com>
251 Donald Harvey <donald@donaldharvey.co.uk>270 Donald Harvey <donald@donaldharvey.co.uk>
252 Donald Stufft <donald@stufft.io>271 Donald Stufft <donald@stufft.io>
253 Don Spaulding <donspauldingii@gmail.com>272 Don Spaulding <donspauldingii@gmail.com>
@@ -255,7 +274,9 @@ answer newbie questions, and generally made Django that much better:
255 Doug Napoleone <doug@dougma.com>274 Doug Napoleone <doug@dougma.com>
256 dready <wil@mojipage.com>275 dready <wil@mojipage.com>
257 dusk@woofle.net276 dusk@woofle.net
277 Dustyn Gibson <miigotu@gmail.com>
258 Ed Morley <https://github.com/edmorley>278 Ed Morley <https://github.com/edmorley>
279 Egidijus Macijauskas <e.macijauskas@outlook.com>
259 eibaan@gmail.com280 eibaan@gmail.com
260 elky <http://elky.me/>281 elky <http://elky.me/>
261 Emmanuelle Delescolle <https://github.com/nanuxbe>282 Emmanuelle Delescolle <https://github.com/nanuxbe>
@@ -272,22 +293,29 @@ answer newbie questions, and generally made Django that much better:
272 Erik Karulf <erik@karulf.com>293 Erik Karulf <erik@karulf.com>
273 Erik Romijn <django@solidlinks.nl>294 Erik Romijn <django@solidlinks.nl>
274 eriks@win.tue.nl295 eriks@win.tue.nl
296 Erwin Junge <erwin@junge.nl>
275 Esdras Beleza <linux@esdrasbeleza.com>297 Esdras Beleza <linux@esdrasbeleza.com>
276 Espen Grindhaug <http://grindhaug.org/>298 Espen Grindhaug <http://grindhaug.org/>
299 Étienne Beaulé <beauleetienne0@gmail.com>
277 Eugene Lazutkin <http://lazutkin.com/blog/>300 Eugene Lazutkin <http://lazutkin.com/blog/>
278 Evan Grim <https://github.com/egrim>301 Evan Grim <https://github.com/egrim>
279 Fabrice Aneche <akh@nobugware.com>302 Fabrice Aneche <akh@nobugware.com>
303 Farhaan Bukhsh <farhaan.bukhsh@gmail.com>
280 favo@exoweb.net304 favo@exoweb.net
281 fdr <drfarina@gmail.com>305 fdr <drfarina@gmail.com>
282 Federico Capoano <nemesis@ninux.org>306 Federico Capoano <nemesis@ninux.org>
307 Felipe Lee <felipe.lee.garcia@gmail.com>
283 Filip Noetzel <http://filip.noetzel.co.uk/>308 Filip Noetzel <http://filip.noetzel.co.uk/>
284 Filip Wasilewski <filip.wasilewski@gmail.com>309 Filip Wasilewski <filip.wasilewski@gmail.com>
285 Finn Gruwier Larsen <finn@gruwier.dk>310 Finn Gruwier Larsen <finn@gruwier.dk>
286 Flávio Juvenal da Silva Junior <flavio@vinta.com.br>311 Flávio Juvenal da Silva Junior <flavio@vinta.com.br>
287 flavio.curella@gmail.com312 flavio.curella@gmail.com
288 Florian Apolloner <florian@apolloner.eu>313 Florian Apolloner <florian@apolloner.eu>
314 Florian Demmer <fdemmer@gmail.com>
289 Florian Moussous <florian.moussous@gmail.com>315 Florian Moussous <florian.moussous@gmail.com>
316 Fran Hrženjak <fran.hrzenjak@gmail.com>
290 Francisco Albarran Cristobal <pahko.xd@gmail.com>317 Francisco Albarran Cristobal <pahko.xd@gmail.com>
318 Francisco Couzo <franciscouzo@gmail.com>
291 François Freitag <mail@franek.fr>319 François Freitag <mail@franek.fr>
292 Frank Tegtmeyer <fte@fte.to>320 Frank Tegtmeyer <fte@fte.to>
293 Frank Wierzbicki321 Frank Wierzbicki
@@ -304,6 +332,7 @@ answer newbie questions, and generally made Django that much better:
304 Gasper Koren332 Gasper Koren
305 Gasper Zejn <zejn@kiberpipa.org>333 Gasper Zejn <zejn@kiberpipa.org>
306 Gavin Wahl <gavinwahl@gmail.com>334 Gavin Wahl <gavinwahl@gmail.com>
335 Ge Hanbin <xiaomiba0904@gmail.com>
307 geber@datacollect.com336 geber@datacollect.com
308 Geert Vanderkelen337 Geert Vanderkelen
309 George Karpenkov <george@metaworld.ru>338 George Karpenkov <george@metaworld.ru>
@@ -331,8 +360,13 @@ answer newbie questions, and generally made Django that much better:
331 Guillaume Pannatier <guillaume.pannatier@gmail.com>360 Guillaume Pannatier <guillaume.pannatier@gmail.com>
332 Gustavo Picon361 Gustavo Picon
333 hambaloney362 hambaloney
363<<<<<<< AUTHORS
364=======
365 Hang Park <hangpark@kaist.ac.kr>
366>>>>>>> AUTHORS
334 Hannes Ljungberg <hannes.ljungberg@gmail.com>367 Hannes Ljungberg <hannes.ljungberg@gmail.com>
335 Hannes Struß <x@hannesstruss.de>368 Hannes Struß <x@hannesstruss.de>
369 Harm Geerts <hgeerts@gmail.com>
336 Hasan Ramezani <hasan.r67@gmail.com>370 Hasan Ramezani <hasan.r67@gmail.com>
337 Hawkeye371 Hawkeye
338 Helen Sherwood-Taylor <helen@rrdlabs.co.uk>372 Helen Sherwood-Taylor <helen@rrdlabs.co.uk>
@@ -345,6 +379,7 @@ answer newbie questions, and generally made Django that much better:
345 Honza Král <honza.kral@gmail.com>379 Honza Král <honza.kral@gmail.com>
346 Horst Gutmann <zerok@zerokspot.com>380 Horst Gutmann <zerok@zerokspot.com>
347 Hugo Osvaldo Barrera <hugo@barrera.io>381 Hugo Osvaldo Barrera <hugo@barrera.io>
382 HyukJin Jang <wkdgurwls00@naver.com>
348 Hyun Mi Ae383 Hyun Mi Ae
349 Iacopo Spalletti <i.spalletti@nephila.it>384 Iacopo Spalletti <i.spalletti@nephila.it>
350 Ian A Wilson <http://ianawilson.com>385 Ian A Wilson <http://ianawilson.com>
@@ -361,6 +396,7 @@ answer newbie questions, and generally made Django that much better:
361 Ilya Semenov <semenov@inetss.com>396 Ilya Semenov <semenov@inetss.com>
362 Ingo Klöcker <djangoproject@ingo-kloecker.de>397 Ingo Klöcker <djangoproject@ingo-kloecker.de>
363 I.S. van Oostveen <v.oostveen@idca.nl>398 I.S. van Oostveen <v.oostveen@idca.nl>
399 Iuri de Silvio <https://github.com/iurisilvio>
364 ivan.chelubeev@gmail.com400 ivan.chelubeev@gmail.com
365 Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>401 Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>
366 Jaap Roes <jaap.roes@gmail.com>402 Jaap Roes <jaap.roes@gmail.com>
@@ -368,6 +404,7 @@ answer newbie questions, and generally made Django that much better:
368 Jacob Burch <jacobburch@gmail.com>404 Jacob Burch <jacobburch@gmail.com>
369 Jacob Green405 Jacob Green
370 Jacob Kaplan-Moss <jacob@jacobian.org>406 Jacob Kaplan-Moss <jacob@jacobian.org>
407 Jacob Walls <http://www.jacobtylerwalls.com/>
371 Jakub Paczkowski <jakub@paczkowski.eu>408 Jakub Paczkowski <jakub@paczkowski.eu>
372 Jakub Wilk <jwilk@jwilk.net>409 Jakub Wilk <jwilk@jwilk.net>
373 Jakub Wiśniowski <restless.being@gmail.com>410 Jakub Wiśniowski <restless.being@gmail.com>
@@ -376,6 +413,8 @@ answer newbie questions, and generally made Django that much better:
376 James Bennett <james@b-list.org>413 James Bennett <james@b-list.org>
377 James Murty414 James Murty
378 James Tauber <jtauber@jtauber.com>415 James Tauber <jtauber@jtauber.com>
416 James Timmins <jameshtimmins@gmail.com>
417 James Turk <dev@jamesturk.net>
379 James Wheare <django@sparemint.com>418 James Wheare <django@sparemint.com>
380 Jannis Leidel <jannis@leidel.info>419 Jannis Leidel <jannis@leidel.info>
381 Janos Guljas420 Janos Guljas
@@ -420,6 +459,7 @@ answer newbie questions, and generally made Django that much better:
420 Joao Oliveira <joaoxsouls@gmail.com>459 Joao Oliveira <joaoxsouls@gmail.com>
421 Joao Pedro Silva <j.pedro004@gmail.com>460 Joao Pedro Silva <j.pedro004@gmail.com>
422 Joe Heck <http://www.rhonabwy.com/wp/>461 Joe Heck <http://www.rhonabwy.com/wp/>
462 Joe Jackson <joe@joejackson.me>
423 Joel Bohman <mail@jbohman.com>463 Joel Bohman <mail@jbohman.com>
424 Joel Heenan <joelh-django@planetjoel.com>464 Joel Heenan <joelh-django@planetjoel.com>
425 Joel Watts <joel@joelwatts.com>465 Joel Watts <joel@joelwatts.com>
@@ -475,6 +515,10 @@ answer newbie questions, and generally made Django that much better:
475 Karen Tracey <kmtracey@gmail.com>515 Karen Tracey <kmtracey@gmail.com>
476 Karol Sikora <elektrrrus@gmail.com>516 Karol Sikora <elektrrrus@gmail.com>
477 Katherine “Kati” Michel <kthrnmichel@gmail.com>517 Katherine “Kati” Michel <kthrnmichel@gmail.com>
518<<<<<<< AUTHORS
519=======
520 Kathryn Killebrew <kathryn.killebrew@gmail.com>
521>>>>>>> AUTHORS
478 Katie Miller <katie@sub50.com>522 Katie Miller <katie@sub50.com>
479 Keith Bussell <kbussell@gmail.com>523 Keith Bussell <kbussell@gmail.com>
480 Kenneth Love <kennethlove@gmail.com>524 Kenneth Love <kennethlove@gmail.com>
@@ -484,10 +528,12 @@ answer newbie questions, and generally made Django that much better:
484 Kevin McConnell <kevin.mcconnell@gmail.com>528 Kevin McConnell <kevin.mcconnell@gmail.com>
485 Kieran Holland <http://www.kieranholland.com>529 Kieran Holland <http://www.kieranholland.com>
486 kilian <kilian.cavalotti@lip6.fr>530 kilian <kilian.cavalotti@lip6.fr>
531 Kim Joon Hwan 김준환 <xncbf12@gmail.com>
487 Klaas van Schelven <klaas@vanschelven.com>532 Klaas van Schelven <klaas@vanschelven.com>
488 knox <christobzr@gmail.com>533 knox <christobzr@gmail.com>
489 konrad@gwu.edu534 konrad@gwu.edu
490 Kowito Charoenratchatabhan <kowito@felspar.com>535 Kowito Charoenratchatabhan <kowito@felspar.com>
536 Krišjānis Vaiders <krisjanisvaiders@gmail.com>
491 krzysiek.pawlik@silvermedia.pl537 krzysiek.pawlik@silvermedia.pl
492 Krzysztof Jurewicz <krzysztof.jurewicz@gmail.com>538 Krzysztof Jurewicz <krzysztof.jurewicz@gmail.com>
493 Krzysztof Kulewski <kulewski@gmail.com>539 Krzysztof Kulewski <kulewski@gmail.com>
@@ -510,6 +556,7 @@ answer newbie questions, and generally made Django that much better:
510 Liang Feng <hutuworm@gmail.com>556 Liang Feng <hutuworm@gmail.com>
511 limodou557 limodou
512 Lincoln Smith <lincoln.smith@anu.edu.au>558 Lincoln Smith <lincoln.smith@anu.edu.au>
559 Liu Yijie <007gzs@gmail.com>
513 Loek van Gent <loek@barakken.nl>560 Loek van Gent <loek@barakken.nl>
514 Loïc Bistuer <loic.bistuer@sixmedia.com>561 Loïc Bistuer <loic.bistuer@sixmedia.com>
515 Lowe Thiderman <lowe.thiderman@gmail.com>562 Lowe Thiderman <lowe.thiderman@gmail.com>
@@ -527,6 +574,7 @@ answer newbie questions, and generally made Django that much better:
527 Mads Jensen <https://github.com/atombrella>574 Mads Jensen <https://github.com/atombrella>
528 Makoto Tsuyuki <mtsuyuki@gmail.com>575 Makoto Tsuyuki <mtsuyuki@gmail.com>
529 Malcolm Tredinnick576 Malcolm Tredinnick
577 Manav Agarwal <dpsman13016@gmail.com>
530 Manuel Saelices <msaelices@yaco.es>578 Manuel Saelices <msaelices@yaco.es>
531 Manuzhai579 Manuzhai
532 Marc Aymerich Gubern580 Marc Aymerich Gubern
@@ -559,6 +607,7 @@ answer newbie questions, and generally made Django that much better:
559 Martin von Gagern <gagern@google.com>607 Martin von Gagern <gagern@google.com>
560 Mart Sõmermaa <http://mrts.pri.ee/>608 Mart Sõmermaa <http://mrts.pri.ee/>
561 Marty Alchin <gulopine@gamemusic.org>609 Marty Alchin <gulopine@gamemusic.org>
610 Masashi Shibata <m.shibata1020@gmail.com>
562 masonsimon+django@gmail.com611 masonsimon+django@gmail.com
563 Massimiliano Ravelli <massimiliano.ravelli@gmail.com>612 Massimiliano Ravelli <massimiliano.ravelli@gmail.com>
564 Massimo Scamarcia <massimo.scamarcia@gmail.com>613 Massimo Scamarcia <massimo.scamarcia@gmail.com>
@@ -591,7 +640,9 @@ answer newbie questions, and generally made Django that much better:
591 Maximilian Merz <django@mxmerz.de>640 Maximilian Merz <django@mxmerz.de>
592 Maximillian Dornseif <md@hudora.de>641 Maximillian Dornseif <md@hudora.de>
593 mccutchen@gmail.com642 mccutchen@gmail.com
643 Meghana Bhange <meghanabhange13@gmail.com>
594 Meir Kriheli <http://mksoft.co.il/>644 Meir Kriheli <http://mksoft.co.il/>
645 Michael S. Brown <michael@msbrown.net>
595 Michael Hall <mhall1@ualberta.ca>646 Michael Hall <mhall1@ualberta.ca>
596 Michael Josephson <http://www.sdjournal.com/>647 Michael Josephson <http://www.sdjournal.com/>
597 Michael Manfre <mmanfre@gmail.com>648 Michael Manfre <mmanfre@gmail.com>
@@ -628,11 +679,13 @@ answer newbie questions, and generally made Django that much better:
628 msundstr679 msundstr
629 Mushtaq Ali <mushtaak@gmail.com>680 Mushtaq Ali <mushtaak@gmail.com>
630 Mykola Zamkovoi <nickzam@gmail.com>681 Mykola Zamkovoi <nickzam@gmail.com>
682 Nadège Michel <michel.nadege@gmail.com>
631 Nagy Károly <charlie@rendszergazda.com>683 Nagy Károly <charlie@rendszergazda.com>
632 Nasimul Haque <nasim.haque@gmail.com>684 Nasimul Haque <nasim.haque@gmail.com>
633 Nasir Hussain <nasirhjafri@gmail.com>685 Nasir Hussain <nasirhjafri@gmail.com>
634 Natalia Bidart <nataliabidart@gmail.com>686 Natalia Bidart <nataliabidart@gmail.com>
635 Nate Bragg <jonathan.bragg@alum.rpi.edu>687 Nate Bragg <jonathan.bragg@alum.rpi.edu>
688 Nathan Gaberel <nathan@gnab.fr>
636 Neal Norwitz <nnorwitz@google.com>689 Neal Norwitz <nnorwitz@google.com>
637 Nebojša Dorđević690 Nebojša Dorđević
638 Ned Batchelder <https://nedbatchelder.com/>691 Ned Batchelder <https://nedbatchelder.com/>
@@ -653,6 +706,7 @@ answer newbie questions, and generally made Django that much better:
653 Nis Jørgensen <nis@superlativ.dk>706 Nis Jørgensen <nis@superlativ.dk>
654 Nowell Strite <https://nowell.strite.org/>707 Nowell Strite <https://nowell.strite.org/>
655 Nuno Mariz <nmariz@gmail.com>708 Nuno Mariz <nmariz@gmail.com>
709 Octavio Peri <octaperi@gmail.com>
656 oggie rob <oz.robharvey@gmail.com>710 oggie rob <oz.robharvey@gmail.com>
657 oggy <ognjen.maric@gmail.com>711 oggy <ognjen.maric@gmail.com>
658 Oliver Beattie <oliver@obeattie.com>712 Oliver Beattie <oliver@obeattie.com>
@@ -666,6 +720,7 @@ answer newbie questions, and generally made Django that much better:
666 Owen Griffiths720 Owen Griffiths
667 Pablo Martín <goinnn@gmail.com>721 Pablo Martín <goinnn@gmail.com>
668 Panos Laganakos <panos.laganakos@gmail.com>722 Panos Laganakos <panos.laganakos@gmail.com>
723 Paolo Melchiorre <paolo@melchiorre.org>
669 Pascal Hartig <phartig@rdrei.net>724 Pascal Hartig <phartig@rdrei.net>
670 Pascal Varet725 Pascal Varet
671 Patrik Sletmo <patrik.sletmo@gmail.com>726 Patrik Sletmo <patrik.sletmo@gmail.com>
@@ -691,6 +746,7 @@ answer newbie questions, and generally made Django that much better:
691 Peter Zsoldos <http://zsoldosp.eu>746 Peter Zsoldos <http://zsoldosp.eu>
692 Pete Shinners <pete@shinners.org>747 Pete Shinners <pete@shinners.org>
693 Petr Marhoun <petr.marhoun@gmail.com>748 Petr Marhoun <petr.marhoun@gmail.com>
749 Petter Strandmark
694 pgross@thoughtworks.com750 pgross@thoughtworks.com
695 phaedo <http://phaedo.cx/>751 phaedo <http://phaedo.cx/>
696 phil.h.smith@gmail.com752 phil.h.smith@gmail.com
@@ -707,6 +763,7 @@ answer newbie questions, and generally made Django that much better:
707 Priyansh Saxena <askpriyansh@gmail.com>763 Priyansh Saxena <askpriyansh@gmail.com>
708 Przemysław Buczkowski <przemub@przemub.pl>764 Przemysław Buczkowski <przemub@przemub.pl>
709 Przemysław Suliga <http://suligap.net>765 Przemysław Suliga <http://suligap.net>
766 Qi Zhao <zhaoqi99@outlook.com>
710 Rachel Tobin <rmtobin@me.com>767 Rachel Tobin <rmtobin@me.com>
711 Rachel Willmer <http://www.willmer.com/kb/>768 Rachel Willmer <http://www.willmer.com/kb/>
712 Radek Švarz <https://www.svarz.cz/translate/>769 Radek Švarz <https://www.svarz.cz/translate/>
@@ -740,7 +797,9 @@ answer newbie questions, and generally made Django that much better:
740 Roberto Aguilar <roberto@baremetal.io>797 Roberto Aguilar <roberto@baremetal.io>
741 Robert Rock Howard <http://djangomojo.com/>798 Robert Rock Howard <http://djangomojo.com/>
742 Robert Wittams799 Robert Wittams
800 Rob Golding-Day <rob@golding-day.com>
743 Rob Hudson <https://rob.cogit8.org/>801 Rob Hudson <https://rob.cogit8.org/>
802 Rob Nguyen <tienrobertnguyenn@gmail.com>
744 Robin Munn <http://www.geekforgod.com/>803 Robin Munn <http://www.geekforgod.com/>
745 Rodrigo Pinheiro Marques de Araújo <fenrrir@gmail.com>804 Rodrigo Pinheiro Marques de Araújo <fenrrir@gmail.com>
746 Romain Garrigues <romain.garrigues.cs@gmail.com>805 Romain Garrigues <romain.garrigues.cs@gmail.com>
@@ -757,8 +816,11 @@ answer newbie questions, and generally made Django that much better:
757 ryankanno816 ryankanno
758 Ryan Kelly <ryan@rfk.id.au>817 Ryan Kelly <ryan@rfk.id.au>
759 Ryan Niemeyer <https://profiles.google.com/ryan.niemeyer/about>818 Ryan Niemeyer <https://profiles.google.com/ryan.niemeyer/about>
819 Ryan Petrello <ryan@ryanpetrello.com>
760 Ryan Rubin <ryanmrubin@gmail.com>820 Ryan Rubin <ryanmrubin@gmail.com>
761 Ryno Mathee <rmathee@gmail.com>821 Ryno Mathee <rmathee@gmail.com>
822 Sachin Jat <sanch.jat@gmail.com>
823 Sage M. Abdullah <https://github.com/laymonage>
762 Sam Newman <http://www.magpiebrain.com/>824 Sam Newman <http://www.magpiebrain.com/>
763 Sander Dijkhuis <sander.dijkhuis@gmail.com>825 Sander Dijkhuis <sander.dijkhuis@gmail.com>
764 Sanket Saurav <sanketsaurav@gmail.com>826 Sanket Saurav <sanketsaurav@gmail.com>
@@ -767,6 +829,7 @@ answer newbie questions, and generally made Django that much better:
767 schwank@gmail.com829 schwank@gmail.com
768 Scot Hacker <shacker@birdhouse.org>830 Scot Hacker <shacker@birdhouse.org>
769 Scott Barr <scott@divisionbyzero.com.au>831 Scott Barr <scott@divisionbyzero.com.au>
832 Scott Cranfill <scott@scottcranfill.com>
770 Scott Fitsimones <scott@airgara.ge>833 Scott Fitsimones <scott@airgara.ge>
771 Scott Pashley <github@scottpashley.co.uk>834 Scott Pashley <github@scottpashley.co.uk>
772 scott@staplefish.com835 scott@staplefish.com
@@ -799,6 +862,7 @@ answer newbie questions, and generally made Django that much better:
799 sloonz <simon.lipp@insa-lyon.fr>862 sloonz <simon.lipp@insa-lyon.fr>
800 smurf@smurf.noris.de863 smurf@smurf.noris.de
801 sopel864 sopel
865 Sreehari K V <sreeharivijayan619@gmail.com>
802 Srinivas Reddy Thatiparthy <thatiparthysreenivas@gmail.com>866 Srinivas Reddy Thatiparthy <thatiparthysreenivas@gmail.com>
803 Stanislas Guerra <stan@slashdev.me>867 Stanislas Guerra <stan@slashdev.me>
804 Stanislaus Madueke868 Stanislaus Madueke
@@ -841,6 +905,7 @@ answer newbie questions, and generally made Django that much better:
841 Thomas Tanner <tanner@gmx.net>905 Thomas Tanner <tanner@gmx.net>
842 tibimicu@gmx.net906 tibimicu@gmx.net
843 Tim Allen <tim@pyphilly.org>907 Tim Allen <tim@pyphilly.org>
908 Tim Givois <tim.givois.mendez@gmail.com>
844 Tim Graham <timograham@gmail.com>909 Tim Graham <timograham@gmail.com>
845 Tim Heap <tim@timheap.me>910 Tim Heap <tim@timheap.me>
846 Tim Saylor <tim.saylor@gmail.com>911 Tim Saylor <tim.saylor@gmail.com>
@@ -848,10 +913,12 @@ answer newbie questions, and generally made Django that much better:
848 Tobias McNulty <https://www.caktusgroup.com/blog/>913 Tobias McNulty <https://www.caktusgroup.com/blog/>
849 tobias@neuyork.de914 tobias@neuyork.de
850 Todd O'Bryan <toddobryan@mac.com>915 Todd O'Bryan <toddobryan@mac.com>
916 Tom Carrick <https://www.carrick.eu>
851 Tom Christie <tom@tomchristie.com>917 Tom Christie <tom@tomchristie.com>
852 Tom Forbes <tom@tomforb.es>918 Tom Forbes <tom@tomforb.es>
853 Tom Insam919 Tom Insam
854 Tom Tobin920 Tom Tobin
921 Tom Wojcik <me@tomwojcik.com>
855 Tomáš Ehrlich <tomas.ehrlich@gmail.com>922 Tomáš Ehrlich <tomas.ehrlich@gmail.com>
856 Tomáš Kopeček <permonik@m6.cz>923 Tomáš Kopeček <permonik@m6.cz>
857 Tome Cvitan <tome@cvitan.com>924 Tome Cvitan <tome@cvitan.com>
@@ -876,14 +943,18 @@ answer newbie questions, and generally made Django that much better:
876 valtron943 valtron
877 Vasiliy Stavenko <stavenko@gmail.com>944 Vasiliy Stavenko <stavenko@gmail.com>
878 Vasil Vangelovski945 Vasil Vangelovski
946 Vibhu Agarwal <vibhu-agarwal.github.io>
879 Victor Andrée947 Victor Andrée
880 viestards.lists@gmail.com948 viestards.lists@gmail.com
881 Viktor Danyliuk <v.v.danyliuk@gmail.com>949 Viktor Danyliuk <v.v.danyliuk@gmail.com>
950 Viktor Grabov <viktor@grabov.ru>
882 Ville Säävuori <https://www.unessa.net/>951 Ville Säävuori <https://www.unessa.net/>
883 Vinay Karanam <https://github.com/vinayinvicible>952 Vinay Karanam <https://github.com/vinayinvicible>
884 Vinay Sajip <vinay_sajip@yahoo.co.uk>953 Vinay Sajip <vinay_sajip@yahoo.co.uk>
885 Vincent Foley <vfoleybourgon@yahoo.ca>954 Vincent Foley <vfoleybourgon@yahoo.ca>
955 Vinny Do <vdo.code@gmail.com>
886 Vitaly Babiy <vbabiy86@gmail.com>956 Vitaly Babiy <vbabiy86@gmail.com>
957 Vitaliy Yelnik <velnik@gmail.com>
887 Vladimir Kuzma <vladimirkuzma.ch@gmail.com>958 Vladimir Kuzma <vladimirkuzma.ch@gmail.com>
888 Vlado <vlado@labath.org>959 Vlado <vlado@labath.org>
889 Vsevolod Solovyov960 Vsevolod Solovyov
@@ -901,6 +972,7 @@ answer newbie questions, and generally made Django that much better:
901 Wilson Miner <wminer@gmail.com>972 Wilson Miner <wminer@gmail.com>
902 Wim Glenn <hey@wimglenn.com>973 Wim Glenn <hey@wimglenn.com>
903 wojtek974 wojtek
975 Xavier Francisco <xavier.n.francisco@gmail.com>
904 Xia Kai <https://blog.xiaket.org/>976 Xia Kai <https://blog.xiaket.org/>
905 Yann Fouillat <gagaro42@gmail.com>977 Yann Fouillat <gagaro42@gmail.com>
906 Yann Malet978 Yann Malet
@@ -914,11 +986,14 @@ answer newbie questions, and generally made Django that much better:
914 Zach Liu <zachliu@gmail.com>986 Zach Liu <zachliu@gmail.com>
915 Zach Thompson <zthompson47@gmail.com>987 Zach Thompson <zthompson47@gmail.com>
916 Zain Memon988 Zain Memon
989 Zain Patel <zain.patel06@gmail.com>
917 Zak Johnson <zakj@nox.cx>990 Zak Johnson <zakj@nox.cx>
918 Žan Anderle <zan.anderle@gmail.com>991 Žan Anderle <zan.anderle@gmail.com>
919 Zbigniew Siciarz <zbigniew@siciarz.net>992 Zbigniew Siciarz <zbigniew@siciarz.net>
920 zegor993 zegor
994 Zeynel Özdemir <ozdemir.zynl@gmail.com>
921 Zlatko Mašek <zlatko.masek@gmail.com>995 Zlatko Mašek <zlatko.masek@gmail.com>
996 zriv <https://github.com/zriv>
922 <Please alphabetize new entries>997 <Please alphabetize new entries>
923998
924A big THANK YOU goes to:999A big THANK YOU goes to:
diff --git a/Django.egg-info/PKG-INFO b/Django.egg-info/PKG-INFO
index bfed6be..28bb264 100644
--- a/Django.egg-info/PKG-INFO
+++ b/Django.egg-info/PKG-INFO
@@ -1,16 +1,25 @@
1Metadata-Version: 2.11Metadata-Version: 2.1
2Name: Django2Name: Django
3<<<<<<< Django.egg-info/PKG-INFO
3Version: 2.2.244Version: 2.2.24
5=======
6Version: 3.2.9
7>>>>>>> Django.egg-info/PKG-INFO
4Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.8Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
5Home-page: https://www.djangoproject.com/9Home-page: https://www.djangoproject.com/
6Author: Django Software Foundation10Author: Django Software Foundation
7Author-email: foundation@djangoproject.com11Author-email: foundation@djangoproject.com
8License: BSD12License: BSD-3-Clause
9Project-URL: Documentation, https://docs.djangoproject.com/13Project-URL: Documentation, https://docs.djangoproject.com/
14Project-URL: Release notes, https://docs.djangoproject.com/en/stable/releases/
10Project-URL: Funding, https://www.djangoproject.com/fundraising/15Project-URL: Funding, https://www.djangoproject.com/fundraising/
11Project-URL: Source, https://github.com/django/django16Project-URL: Source, https://github.com/django/django
12Project-URL: Tracker, https://code.djangoproject.com/17Project-URL: Tracker, https://code.djangoproject.com/
13Description: Django is a high-level Python Web framework that encourages rapid development18Description: ======
19 Django
20 ======
21
22 Django is a high-level Python Web framework that encourages rapid development
14 and clean, pragmatic design. Thanks for checking it out.23 and clean, pragmatic design. Thanks for checking it out.
15 24
16 All documentation is in the "``docs``" directory and online at25 All documentation is in the "``docs``" directory and online at
@@ -38,8 +47,12 @@ Description: Django is a high-level Python Web framework that encourages rapid d
38 To get more help:47 To get more help:
39 48
40 * Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people49 * Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people
50<<<<<<< Django.egg-info/PKG-INFO
41 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're51 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're
42 new to IRC.52 new to IRC.
53=======
54 hang out there. See https://web.libera.chat if you're new to IRC.
55>>>>>>> Django.egg-info/PKG-INFO
43 56
44 * Join the django-users mailing list, or read the archives, at57 * Join the django-users mailing list, or read the archives, at
45 https://groups.google.com/group/django-users.58 https://groups.google.com/group/django-users.
@@ -55,6 +68,13 @@ Description: Django is a high-level Python Web framework that encourages rapid d
55 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at68 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at
56 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests69 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests
57 70
71 Supporting the Development of Django
72 ====================================
73
74 Django's development depends on your contributions.
75
76 If you depend on Django, remember to support the Django Software Foundation: https://www.djangoproject.com/fundraising/
77
58Platform: UNKNOWN78Platform: UNKNOWN
59Classifier: Development Status :: 5 - Production/Stable79Classifier: Development Status :: 5 - Production/Stable
60Classifier: Environment :: Web Environment80Classifier: Environment :: Web Environment
@@ -64,17 +84,26 @@ Classifier: License :: OSI Approved :: BSD License
64Classifier: Operating System :: OS Independent84Classifier: Operating System :: OS Independent
65Classifier: Programming Language :: Python85Classifier: Programming Language :: Python
66Classifier: Programming Language :: Python :: 386Classifier: Programming Language :: Python :: 3
67Classifier: Programming Language :: Python :: 3.587Classifier: Programming Language :: Python :: 3 :: Only
68Classifier: Programming Language :: Python :: 3.688Classifier: Programming Language :: Python :: 3.6
69Classifier: Programming Language :: Python :: 3.789Classifier: Programming Language :: Python :: 3.7
70Classifier: Programming Language :: Python :: 3.890Classifier: Programming Language :: Python :: 3.8
71Classifier: Programming Language :: Python :: 3.991Classifier: Programming Language :: Python :: 3.9
92<<<<<<< Django.egg-info/PKG-INFO
72Classifier: Programming Language :: Python :: 3 :: Only93Classifier: Programming Language :: Python :: 3 :: Only
94=======
95Classifier: Programming Language :: Python :: 3.10
96>>>>>>> Django.egg-info/PKG-INFO
73Classifier: Topic :: Internet :: WWW/HTTP97Classifier: Topic :: Internet :: WWW/HTTP
74Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content98Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
75Classifier: Topic :: Internet :: WWW/HTTP :: WSGI99Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
76Classifier: Topic :: Software Development :: Libraries :: Application Frameworks100Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
77Classifier: Topic :: Software Development :: Libraries :: Python Modules101Classifier: Topic :: Software Development :: Libraries :: Python Modules
102<<<<<<< Django.egg-info/PKG-INFO
78Requires-Python: >=3.5103Requires-Python: >=3.5
104=======
105Requires-Python: >=3.6
106Provides-Extra: argon2
107>>>>>>> Django.egg-info/PKG-INFO
79Provides-Extra: bcrypt108Provides-Extra: bcrypt
80Provides-Extra: argon2109Provides-Extra: argon2
diff --git a/Django.egg-info/SOURCES.txt b/Django.egg-info/SOURCES.txt
index 712c72f..b3ead93 100644
--- a/Django.egg-info/SOURCES.txt
+++ b/Django.egg-info/SOURCES.txt
@@ -39,6 +39,10 @@ django/conf/locale/ar/__init__.py
39django/conf/locale/ar/formats.py39django/conf/locale/ar/formats.py
40django/conf/locale/ar/LC_MESSAGES/django.mo40django/conf/locale/ar/LC_MESSAGES/django.mo
41django/conf/locale/ar/LC_MESSAGES/django.po41django/conf/locale/ar/LC_MESSAGES/django.po
42django/conf/locale/ar_DZ/__init__.py
43django/conf/locale/ar_DZ/formats.py
44django/conf/locale/ar_DZ/LC_MESSAGES/django.mo
45django/conf/locale/ar_DZ/LC_MESSAGES/django.po
42django/conf/locale/ast/LC_MESSAGES/django.mo46django/conf/locale/ast/LC_MESSAGES/django.mo
43django/conf/locale/ast/LC_MESSAGES/django.po47django/conf/locale/ast/LC_MESSAGES/django.po
44django/conf/locale/az/__init__.py48django/conf/locale/az/__init__.py
@@ -189,6 +193,10 @@ django/conf/locale/id/__init__.py
189django/conf/locale/id/formats.py193django/conf/locale/id/formats.py
190django/conf/locale/id/LC_MESSAGES/django.mo194django/conf/locale/id/LC_MESSAGES/django.mo
191django/conf/locale/id/LC_MESSAGES/django.po195django/conf/locale/id/LC_MESSAGES/django.po
196django/conf/locale/ig/__init__.py
197django/conf/locale/ig/formats.py
198django/conf/locale/ig/LC_MESSAGES/django.mo
199django/conf/locale/ig/LC_MESSAGES/django.po
192django/conf/locale/io/LC_MESSAGES/django.mo200django/conf/locale/io/LC_MESSAGES/django.mo
193django/conf/locale/io/LC_MESSAGES/django.po201django/conf/locale/io/LC_MESSAGES/django.po
194django/conf/locale/is/__init__.py202django/conf/locale/is/__init__.py
@@ -223,6 +231,10 @@ django/conf/locale/ko/__init__.py
223django/conf/locale/ko/formats.py231django/conf/locale/ko/formats.py
224django/conf/locale/ko/LC_MESSAGES/django.mo232django/conf/locale/ko/LC_MESSAGES/django.mo
225django/conf/locale/ko/LC_MESSAGES/django.po233django/conf/locale/ko/LC_MESSAGES/django.po
234django/conf/locale/ky/__init__.py
235django/conf/locale/ky/formats.py
236django/conf/locale/ky/LC_MESSAGES/django.mo
237django/conf/locale/ky/LC_MESSAGES/django.po
226django/conf/locale/lb/LC_MESSAGES/django.mo238django/conf/locale/lb/LC_MESSAGES/django.mo
227django/conf/locale/lb/LC_MESSAGES/django.po239django/conf/locale/lb/LC_MESSAGES/django.po
228django/conf/locale/lt/__init__.py240django/conf/locale/lt/__init__.py
@@ -321,10 +333,18 @@ django/conf/locale/te/__init__.py
321django/conf/locale/te/formats.py333django/conf/locale/te/formats.py
322django/conf/locale/te/LC_MESSAGES/django.mo334django/conf/locale/te/LC_MESSAGES/django.mo
323django/conf/locale/te/LC_MESSAGES/django.po335django/conf/locale/te/LC_MESSAGES/django.po
336django/conf/locale/tg/__init__.py
337django/conf/locale/tg/formats.py
338django/conf/locale/tg/LC_MESSAGES/django.mo
339django/conf/locale/tg/LC_MESSAGES/django.po
324django/conf/locale/th/__init__.py340django/conf/locale/th/__init__.py
325django/conf/locale/th/formats.py341django/conf/locale/th/formats.py
326django/conf/locale/th/LC_MESSAGES/django.mo342django/conf/locale/th/LC_MESSAGES/django.mo
327django/conf/locale/th/LC_MESSAGES/django.po343django/conf/locale/th/LC_MESSAGES/django.po
344django/conf/locale/tk/__init__.py
345django/conf/locale/tk/formats.py
346django/conf/locale/tk/LC_MESSAGES/django.mo
347django/conf/locale/tk/LC_MESSAGES/django.po
328django/conf/locale/tr/__init__.py348django/conf/locale/tr/__init__.py
329django/conf/locale/tr/formats.py349django/conf/locale/tr/formats.py
330django/conf/locale/tr/LC_MESSAGES/django.mo350django/conf/locale/tr/LC_MESSAGES/django.mo
@@ -339,6 +359,10 @@ django/conf/locale/uk/LC_MESSAGES/django.mo
339django/conf/locale/uk/LC_MESSAGES/django.po359django/conf/locale/uk/LC_MESSAGES/django.po
340django/conf/locale/ur/LC_MESSAGES/django.mo360django/conf/locale/ur/LC_MESSAGES/django.mo
341django/conf/locale/ur/LC_MESSAGES/django.po361django/conf/locale/ur/LC_MESSAGES/django.po
362django/conf/locale/uz/__init__.py
363django/conf/locale/uz/formats.py
364django/conf/locale/uz/LC_MESSAGES/django.mo
365django/conf/locale/uz/LC_MESSAGES/django.po
342django/conf/locale/vi/__init__.py366django/conf/locale/vi/__init__.py
343django/conf/locale/vi/formats.py367django/conf/locale/vi/formats.py
344django/conf/locale/vi/LC_MESSAGES/django.mo368django/conf/locale/vi/LC_MESSAGES/django.mo
@@ -353,6 +377,7 @@ django/conf/locale/zh_Hant/LC_MESSAGES/django.mo
353django/conf/locale/zh_Hant/LC_MESSAGES/django.po377django/conf/locale/zh_Hant/LC_MESSAGES/django.po
354django/conf/project_template/manage.py-tpl378django/conf/project_template/manage.py-tpl
355django/conf/project_template/project_name/__init__.py-tpl379django/conf/project_template/project_name/__init__.py-tpl
380django/conf/project_template/project_name/asgi.py-tpl
356django/conf/project_template/project_name/settings.py-tpl381django/conf/project_template/project_name/settings.py-tpl
357django/conf/project_template/project_name/urls.py-tpl382django/conf/project_template/project_name/urls.py-tpl
358django/conf/project_template/project_name/wsgi.py-tpl383django/conf/project_template/project_name/wsgi.py-tpl
@@ -385,6 +410,10 @@ django/contrib/admin/locale/ar/LC_MESSAGES/django.mo
385django/contrib/admin/locale/ar/LC_MESSAGES/django.po410django/contrib/admin/locale/ar/LC_MESSAGES/django.po
386django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo411django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo
387django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po412django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po
413django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.mo
414django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po
415django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.mo
416django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po
388django/contrib/admin/locale/ast/LC_MESSAGES/django.mo417django/contrib/admin/locale/ast/LC_MESSAGES/django.mo
389django/contrib/admin/locale/ast/LC_MESSAGES/django.po418django/contrib/admin/locale/ast/LC_MESSAGES/django.po
390django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo419django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo
@@ -585,6 +614,10 @@ django/contrib/admin/locale/ko/LC_MESSAGES/django.mo
585django/contrib/admin/locale/ko/LC_MESSAGES/django.po614django/contrib/admin/locale/ko/LC_MESSAGES/django.po
586django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo615django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo
587django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po616django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po
617django/contrib/admin/locale/ky/LC_MESSAGES/django.mo
618django/contrib/admin/locale/ky/LC_MESSAGES/django.po
619django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.mo
620django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po
588django/contrib/admin/locale/lb/LC_MESSAGES/django.mo621django/contrib/admin/locale/lb/LC_MESSAGES/django.mo
589django/contrib/admin/locale/lb/LC_MESSAGES/django.po622django/contrib/admin/locale/lb/LC_MESSAGES/django.po
590django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo623django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo
@@ -697,6 +730,10 @@ django/contrib/admin/locale/te/LC_MESSAGES/django.mo
697django/contrib/admin/locale/te/LC_MESSAGES/django.po730django/contrib/admin/locale/te/LC_MESSAGES/django.po
698django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo731django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo
699django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po732django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po
733django/contrib/admin/locale/tg/LC_MESSAGES/django.mo
734django/contrib/admin/locale/tg/LC_MESSAGES/django.po
735django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.mo
736django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po
700django/contrib/admin/locale/th/LC_MESSAGES/django.mo737django/contrib/admin/locale/th/LC_MESSAGES/django.mo
701django/contrib/admin/locale/th/LC_MESSAGES/django.po738django/contrib/admin/locale/th/LC_MESSAGES/django.po
702django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo739django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo
@@ -721,6 +758,10 @@ django/contrib/admin/locale/ur/LC_MESSAGES/django.mo
721django/contrib/admin/locale/ur/LC_MESSAGES/django.po758django/contrib/admin/locale/ur/LC_MESSAGES/django.po
722django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo759django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo
723django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po760django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po
761django/contrib/admin/locale/uz/LC_MESSAGES/django.mo
762django/contrib/admin/locale/uz/LC_MESSAGES/django.po
763django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.mo
764django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po
724django/contrib/admin/locale/vi/LC_MESSAGES/django.mo765django/contrib/admin/locale/vi/LC_MESSAGES/django.mo
725django/contrib/admin/locale/vi/LC_MESSAGES/django.po766django/contrib/admin/locale/vi/LC_MESSAGES/django.po
726django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo767django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo
@@ -744,6 +785,7 @@ django/contrib/admin/static/admin/css/dashboard.css
744django/contrib/admin/static/admin/css/fonts.css785django/contrib/admin/static/admin/css/fonts.css
745django/contrib/admin/static/admin/css/forms.css786django/contrib/admin/static/admin/css/forms.css
746django/contrib/admin/static/admin/css/login.css787django/contrib/admin/static/admin/css/login.css
788django/contrib/admin/static/admin/css/nav_sidebar.css
747django/contrib/admin/static/admin/css/responsive.css789django/contrib/admin/static/admin/css/responsive.css
748django/contrib/admin/static/admin/css/responsive_rtl.css790django/contrib/admin/static/admin/css/responsive_rtl.css
749django/contrib/admin/static/admin/css/rtl.css791django/contrib/admin/static/admin/css/rtl.css
@@ -781,22 +823,18 @@ django/contrib/admin/static/admin/img/gis/move_vertex_on.svg
781django/contrib/admin/static/admin/js/SelectBox.js823django/contrib/admin/static/admin/js/SelectBox.js
782django/contrib/admin/static/admin/js/SelectFilter2.js824django/contrib/admin/static/admin/js/SelectFilter2.js
783django/contrib/admin/static/admin/js/actions.js825django/contrib/admin/static/admin/js/actions.js
784django/contrib/admin/static/admin/js/actions.min.js
785django/contrib/admin/static/admin/js/autocomplete.js826django/contrib/admin/static/admin/js/autocomplete.js
786django/contrib/admin/static/admin/js/calendar.js827django/contrib/admin/static/admin/js/calendar.js
787django/contrib/admin/static/admin/js/cancel.js828django/contrib/admin/static/admin/js/cancel.js
788django/contrib/admin/static/admin/js/change_form.js829django/contrib/admin/static/admin/js/change_form.js
789django/contrib/admin/static/admin/js/collapse.js830django/contrib/admin/static/admin/js/collapse.js
790django/contrib/admin/static/admin/js/collapse.min.js
791django/contrib/admin/static/admin/js/core.js831django/contrib/admin/static/admin/js/core.js
792django/contrib/admin/static/admin/js/inlines.js832django/contrib/admin/static/admin/js/inlines.js
793django/contrib/admin/static/admin/js/inlines.min.js
794django/contrib/admin/static/admin/js/jquery.init.js833django/contrib/admin/static/admin/js/jquery.init.js
834django/contrib/admin/static/admin/js/nav_sidebar.js
795django/contrib/admin/static/admin/js/popup_response.js835django/contrib/admin/static/admin/js/popup_response.js
796django/contrib/admin/static/admin/js/prepopulate.js836django/contrib/admin/static/admin/js/prepopulate.js
797django/contrib/admin/static/admin/js/prepopulate.min.js
798django/contrib/admin/static/admin/js/prepopulate_init.js837django/contrib/admin/static/admin/js/prepopulate_init.js
799django/contrib/admin/static/admin/js/timeparse.js
800django/contrib/admin/static/admin/js/urlify.js838django/contrib/admin/static/admin/js/urlify.js
801django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js839django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
802django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js840django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
@@ -806,13 +844,17 @@ django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js
806django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md844django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
807django/contrib/admin/static/admin/js/vendor/select2/select2.full.js845django/contrib/admin/static/admin/js/vendor/select2/select2.full.js
808django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js846django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js
847django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js
809django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js848django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js
810django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js849django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js
811django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js850django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js
851django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js
852django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js
812django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js853django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js
813django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js854django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js
814django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js855django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js
815django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js856django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js
857django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js
816django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js858django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js
817django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js859django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js
818django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js860django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js
@@ -825,11 +867,14 @@ django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js
825django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js867django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js
826django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js868django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js
827django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js869django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js
870django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js
828django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js871django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js
872django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js
829django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js873django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js
830django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js874django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js
831django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js875django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js
832django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js876django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js
877django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js
833django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js878django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js
834django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js879django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js
835django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js880django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js
@@ -837,17 +882,22 @@ django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js
837django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js882django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js
838django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js883django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js
839django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js884django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js
885django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js
840django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js886django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js
841django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js887django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js
888django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js
842django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js889django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js
843django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js890django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js
844django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js891django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js
845django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js892django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js
846django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js893django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js
894django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js
895django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js
847django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js896django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
848django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js897django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js
849django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js898django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js
850django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js899django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js
900django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js
851django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js901django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js
852django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js902django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js
853django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js903django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js
@@ -860,6 +910,7 @@ django/contrib/admin/templates/admin/404.html
860django/contrib/admin/templates/admin/500.html910django/contrib/admin/templates/admin/500.html
861django/contrib/admin/templates/admin/actions.html911django/contrib/admin/templates/admin/actions.html
862django/contrib/admin/templates/admin/app_index.html912django/contrib/admin/templates/admin/app_index.html
913django/contrib/admin/templates/admin/app_list.html
863django/contrib/admin/templates/admin/base.html914django/contrib/admin/templates/admin/base.html
864django/contrib/admin/templates/admin/base_site.html915django/contrib/admin/templates/admin/base_site.html
865django/contrib/admin/templates/admin/change_form.html916django/contrib/admin/templates/admin/change_form.html
@@ -874,6 +925,7 @@ django/contrib/admin/templates/admin/filter.html
874django/contrib/admin/templates/admin/index.html925django/contrib/admin/templates/admin/index.html
875django/contrib/admin/templates/admin/invalid_setup.html926django/contrib/admin/templates/admin/invalid_setup.html
876django/contrib/admin/templates/admin/login.html927django/contrib/admin/templates/admin/login.html
928django/contrib/admin/templates/admin/nav_sidebar.html
877django/contrib/admin/templates/admin/object_history.html929django/contrib/admin/templates/admin/object_history.html
878django/contrib/admin/templates/admin/pagination.html930django/contrib/admin/templates/admin/pagination.html
879django/contrib/admin/templates/admin/popup_response.html931django/contrib/admin/templates/admin/popup_response.html
@@ -904,7 +956,6 @@ django/contrib/admin/templates/registration/password_reset_form.html
904django/contrib/admin/templatetags/__init__.py956django/contrib/admin/templatetags/__init__.py
905django/contrib/admin/templatetags/admin_list.py957django/contrib/admin/templatetags/admin_list.py
906django/contrib/admin/templatetags/admin_modify.py958django/contrib/admin/templatetags/admin_modify.py
907django/contrib/admin/templatetags/admin_static.py
908django/contrib/admin/templatetags/admin_urls.py959django/contrib/admin/templatetags/admin_urls.py
909django/contrib/admin/templatetags/base.py960django/contrib/admin/templatetags/base.py
910django/contrib/admin/templatetags/log.py961django/contrib/admin/templatetags/log.py
@@ -922,6 +973,8 @@ django/contrib/admindocs/locale/af/LC_MESSAGES/django.mo
922django/contrib/admindocs/locale/af/LC_MESSAGES/django.po973django/contrib/admindocs/locale/af/LC_MESSAGES/django.po
923django/contrib/admindocs/locale/ar/LC_MESSAGES/django.mo974django/contrib/admindocs/locale/ar/LC_MESSAGES/django.mo
924django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po975django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po
976django/contrib/admindocs/locale/ar_DZ/LC_MESSAGES/django.mo
977django/contrib/admindocs/locale/ar_DZ/LC_MESSAGES/django.po
925django/contrib/admindocs/locale/ast/LC_MESSAGES/django.mo978django/contrib/admindocs/locale/ast/LC_MESSAGES/django.mo
926django/contrib/admindocs/locale/ast/LC_MESSAGES/django.po979django/contrib/admindocs/locale/ast/LC_MESSAGES/django.po
927django/contrib/admindocs/locale/az/LC_MESSAGES/django.mo980django/contrib/admindocs/locale/az/LC_MESSAGES/django.mo
@@ -1020,6 +1073,8 @@ django/contrib/admindocs/locale/kn/LC_MESSAGES/django.mo
1020django/contrib/admindocs/locale/kn/LC_MESSAGES/django.po1073django/contrib/admindocs/locale/kn/LC_MESSAGES/django.po
1021django/contrib/admindocs/locale/ko/LC_MESSAGES/django.mo1074django/contrib/admindocs/locale/ko/LC_MESSAGES/django.mo
1022django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po1075django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po
1076django/contrib/admindocs/locale/ky/LC_MESSAGES/django.mo
1077django/contrib/admindocs/locale/ky/LC_MESSAGES/django.po
1023django/contrib/admindocs/locale/lb/LC_MESSAGES/django.mo1078django/contrib/admindocs/locale/lb/LC_MESSAGES/django.mo
1024django/contrib/admindocs/locale/lb/LC_MESSAGES/django.po1079django/contrib/admindocs/locale/lb/LC_MESSAGES/django.po
1025django/contrib/admindocs/locale/lt/LC_MESSAGES/django.mo1080django/contrib/admindocs/locale/lt/LC_MESSAGES/django.mo
@@ -1076,6 +1131,8 @@ django/contrib/admindocs/locale/ta/LC_MESSAGES/django.mo
1076django/contrib/admindocs/locale/ta/LC_MESSAGES/django.po1131django/contrib/admindocs/locale/ta/LC_MESSAGES/django.po
1077django/contrib/admindocs/locale/te/LC_MESSAGES/django.mo1132django/contrib/admindocs/locale/te/LC_MESSAGES/django.mo
1078django/contrib/admindocs/locale/te/LC_MESSAGES/django.po1133django/contrib/admindocs/locale/te/LC_MESSAGES/django.po
1134django/contrib/admindocs/locale/tg/LC_MESSAGES/django.mo
1135django/contrib/admindocs/locale/tg/LC_MESSAGES/django.po
1079django/contrib/admindocs/locale/th/LC_MESSAGES/django.mo1136django/contrib/admindocs/locale/th/LC_MESSAGES/django.mo
1080django/contrib/admindocs/locale/th/LC_MESSAGES/django.po1137django/contrib/admindocs/locale/th/LC_MESSAGES/django.po
1081django/contrib/admindocs/locale/tr/LC_MESSAGES/django.mo1138django/contrib/admindocs/locale/tr/LC_MESSAGES/django.mo
@@ -1130,6 +1187,8 @@ django/contrib/auth/locale/af/LC_MESSAGES/django.mo
1130django/contrib/auth/locale/af/LC_MESSAGES/django.po1187django/contrib/auth/locale/af/LC_MESSAGES/django.po
1131django/contrib/auth/locale/ar/LC_MESSAGES/django.mo1188django/contrib/auth/locale/ar/LC_MESSAGES/django.mo
1132django/contrib/auth/locale/ar/LC_MESSAGES/django.po1189django/contrib/auth/locale/ar/LC_MESSAGES/django.po
1190django/contrib/auth/locale/ar_DZ/LC_MESSAGES/django.mo
1191django/contrib/auth/locale/ar_DZ/LC_MESSAGES/django.po
1133django/contrib/auth/locale/ast/LC_MESSAGES/django.mo1192django/contrib/auth/locale/ast/LC_MESSAGES/django.mo
1134django/contrib/auth/locale/ast/LC_MESSAGES/django.po1193django/contrib/auth/locale/ast/LC_MESSAGES/django.po
1135django/contrib/auth/locale/az/LC_MESSAGES/django.mo1194django/contrib/auth/locale/az/LC_MESSAGES/django.mo
@@ -1230,6 +1289,8 @@ django/contrib/auth/locale/kn/LC_MESSAGES/django.mo
1230django/contrib/auth/locale/kn/LC_MESSAGES/django.po1289django/contrib/auth/locale/kn/LC_MESSAGES/django.po
1231django/contrib/auth/locale/ko/LC_MESSAGES/django.mo1290django/contrib/auth/locale/ko/LC_MESSAGES/django.mo
1232django/contrib/auth/locale/ko/LC_MESSAGES/django.po1291django/contrib/auth/locale/ko/LC_MESSAGES/django.po
1292django/contrib/auth/locale/ky/LC_MESSAGES/django.mo
1293django/contrib/auth/locale/ky/LC_MESSAGES/django.po
1233django/contrib/auth/locale/lb/LC_MESSAGES/django.mo1294django/contrib/auth/locale/lb/LC_MESSAGES/django.mo
1234django/contrib/auth/locale/lb/LC_MESSAGES/django.po1295django/contrib/auth/locale/lb/LC_MESSAGES/django.po
1235django/contrib/auth/locale/lt/LC_MESSAGES/django.mo1296django/contrib/auth/locale/lt/LC_MESSAGES/django.mo
@@ -1286,8 +1347,12 @@ django/contrib/auth/locale/ta/LC_MESSAGES/django.mo
1286django/contrib/auth/locale/ta/LC_MESSAGES/django.po1347django/contrib/auth/locale/ta/LC_MESSAGES/django.po
1287django/contrib/auth/locale/te/LC_MESSAGES/django.mo1348django/contrib/auth/locale/te/LC_MESSAGES/django.mo
1288django/contrib/auth/locale/te/LC_MESSAGES/django.po1349django/contrib/auth/locale/te/LC_MESSAGES/django.po
1350django/contrib/auth/locale/tg/LC_MESSAGES/django.mo
1351django/contrib/auth/locale/tg/LC_MESSAGES/django.po
1289django/contrib/auth/locale/th/LC_MESSAGES/django.mo1352django/contrib/auth/locale/th/LC_MESSAGES/django.mo
1290django/contrib/auth/locale/th/LC_MESSAGES/django.po1353django/contrib/auth/locale/th/LC_MESSAGES/django.po
1354django/contrib/auth/locale/tk/LC_MESSAGES/django.mo
1355django/contrib/auth/locale/tk/LC_MESSAGES/django.po
1291django/contrib/auth/locale/tr/LC_MESSAGES/django.mo1356django/contrib/auth/locale/tr/LC_MESSAGES/django.mo
1292django/contrib/auth/locale/tr/LC_MESSAGES/django.po1357django/contrib/auth/locale/tr/LC_MESSAGES/django.po
1293django/contrib/auth/locale/tt/LC_MESSAGES/django.mo1358django/contrib/auth/locale/tt/LC_MESSAGES/django.mo
@@ -1298,6 +1363,8 @@ django/contrib/auth/locale/uk/LC_MESSAGES/django.mo
1298django/contrib/auth/locale/uk/LC_MESSAGES/django.po1363django/contrib/auth/locale/uk/LC_MESSAGES/django.po
1299django/contrib/auth/locale/ur/LC_MESSAGES/django.mo1364django/contrib/auth/locale/ur/LC_MESSAGES/django.mo
1300django/contrib/auth/locale/ur/LC_MESSAGES/django.po1365django/contrib/auth/locale/ur/LC_MESSAGES/django.po
1366django/contrib/auth/locale/uz/LC_MESSAGES/django.mo
1367django/contrib/auth/locale/uz/LC_MESSAGES/django.po
1301django/contrib/auth/locale/vi/LC_MESSAGES/django.mo1368django/contrib/auth/locale/vi/LC_MESSAGES/django.mo
1302django/contrib/auth/locale/vi/LC_MESSAGES/django.po1369django/contrib/auth/locale/vi/LC_MESSAGES/django.po
1303django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.mo1370django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.mo
@@ -1305,6 +1372,7 @@ django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po
1305django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.mo1372django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.mo
1306django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po1373django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po
1307django/contrib/auth/management/__init__.py1374django/contrib/auth/management/__init__.py
1375django/contrib/auth/management/commands/__init__.py
1308django/contrib/auth/management/commands/changepassword.py1376django/contrib/auth/management/commands/changepassword.py
1309django/contrib/auth/management/commands/createsuperuser.py1377django/contrib/auth/management/commands/createsuperuser.py
1310django/contrib/auth/migrations/0001_initial.py1378django/contrib/auth/migrations/0001_initial.py
@@ -1318,6 +1386,7 @@ django/contrib/auth/migrations/0008_alter_user_username_max_length.py
1318django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py1386django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py
1319django/contrib/auth/migrations/0010_alter_group_name_max_length.py1387django/contrib/auth/migrations/0010_alter_group_name_max_length.py
1320django/contrib/auth/migrations/0011_update_proxy_permissions.py1388django/contrib/auth/migrations/0011_update_proxy_permissions.py
1389django/contrib/auth/migrations/0012_alter_user_first_name_max_length.py
1321django/contrib/auth/migrations/__init__.py1390django/contrib/auth/migrations/__init__.py
1322django/contrib/auth/templates/auth/widgets/read_only_password_hash.html1391django/contrib/auth/templates/auth/widgets/read_only_password_hash.html
1323django/contrib/auth/templates/registration/password_reset_subject.txt1392django/contrib/auth/templates/registration/password_reset_subject.txt
@@ -1333,6 +1402,8 @@ django/contrib/contenttypes/locale/af/LC_MESSAGES/django.mo
1333django/contrib/contenttypes/locale/af/LC_MESSAGES/django.po1402django/contrib/contenttypes/locale/af/LC_MESSAGES/django.po
1334django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.mo1403django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.mo
1335django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po1404django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po
1405django/contrib/contenttypes/locale/ar_DZ/LC_MESSAGES/django.mo
1406django/contrib/contenttypes/locale/ar_DZ/LC_MESSAGES/django.po
1336django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.mo1407django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.mo
1337django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.po1408django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.po
1338django/contrib/contenttypes/locale/az/LC_MESSAGES/django.mo1409django/contrib/contenttypes/locale/az/LC_MESSAGES/django.mo
@@ -1431,6 +1502,8 @@ django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.mo
1431django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.po1502django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.po
1432django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.mo1503django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.mo
1433django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po1504django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po
1505django/contrib/contenttypes/locale/ky/LC_MESSAGES/django.mo
1506django/contrib/contenttypes/locale/ky/LC_MESSAGES/django.po
1434django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.mo1507django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.mo
1435django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.po1508django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.po
1436django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.mo1509django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.mo
@@ -1487,8 +1560,12 @@ django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.mo
1487django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.po1560django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.po
1488django/contrib/contenttypes/locale/te/LC_MESSAGES/django.mo1561django/contrib/contenttypes/locale/te/LC_MESSAGES/django.mo
1489django/contrib/contenttypes/locale/te/LC_MESSAGES/django.po1562django/contrib/contenttypes/locale/te/LC_MESSAGES/django.po
1563django/contrib/contenttypes/locale/tg/LC_MESSAGES/django.mo
1564django/contrib/contenttypes/locale/tg/LC_MESSAGES/django.po
1490django/contrib/contenttypes/locale/th/LC_MESSAGES/django.mo1565django/contrib/contenttypes/locale/th/LC_MESSAGES/django.mo
1491django/contrib/contenttypes/locale/th/LC_MESSAGES/django.po1566django/contrib/contenttypes/locale/th/LC_MESSAGES/django.po
1567django/contrib/contenttypes/locale/tk/LC_MESSAGES/django.mo
1568django/contrib/contenttypes/locale/tk/LC_MESSAGES/django.po
1492django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.mo1569django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.mo
1493django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po1570django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po
1494django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.mo1571django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.mo
@@ -1506,6 +1583,7 @@ django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po
1506django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.mo1583django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.mo
1507django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po1584django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po
1508django/contrib/contenttypes/management/__init__.py1585django/contrib/contenttypes/management/__init__.py
1586django/contrib/contenttypes/management/commands/__init__.py
1509django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py1587django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py
1510django/contrib/contenttypes/migrations/0001_initial.py1588django/contrib/contenttypes/migrations/0001_initial.py
1511django/contrib/contenttypes/migrations/0002_remove_content_type_name.py1589django/contrib/contenttypes/migrations/0002_remove_content_type_name.py
@@ -1523,6 +1601,8 @@ django/contrib/flatpages/locale/af/LC_MESSAGES/django.mo
1523django/contrib/flatpages/locale/af/LC_MESSAGES/django.po1601django/contrib/flatpages/locale/af/LC_MESSAGES/django.po
1524django/contrib/flatpages/locale/ar/LC_MESSAGES/django.mo1602django/contrib/flatpages/locale/ar/LC_MESSAGES/django.mo
1525django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po1603django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po
1604django/contrib/flatpages/locale/ar_DZ/LC_MESSAGES/django.mo
1605django/contrib/flatpages/locale/ar_DZ/LC_MESSAGES/django.po
1526django/contrib/flatpages/locale/ast/LC_MESSAGES/django.mo1606django/contrib/flatpages/locale/ast/LC_MESSAGES/django.mo
1527django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po1607django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po
1528django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo1608django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo
@@ -1621,6 +1701,8 @@ django/contrib/flatpages/locale/kn/LC_MESSAGES/django.mo
1621django/contrib/flatpages/locale/kn/LC_MESSAGES/django.po1701django/contrib/flatpages/locale/kn/LC_MESSAGES/django.po
1622django/contrib/flatpages/locale/ko/LC_MESSAGES/django.mo1702django/contrib/flatpages/locale/ko/LC_MESSAGES/django.mo
1623django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po1703django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po
1704django/contrib/flatpages/locale/ky/LC_MESSAGES/django.mo
1705django/contrib/flatpages/locale/ky/LC_MESSAGES/django.po
1624django/contrib/flatpages/locale/lb/LC_MESSAGES/django.mo1706django/contrib/flatpages/locale/lb/LC_MESSAGES/django.mo
1625django/contrib/flatpages/locale/lb/LC_MESSAGES/django.po1707django/contrib/flatpages/locale/lb/LC_MESSAGES/django.po
1626django/contrib/flatpages/locale/lt/LC_MESSAGES/django.mo1708django/contrib/flatpages/locale/lt/LC_MESSAGES/django.mo
@@ -1677,8 +1759,12 @@ django/contrib/flatpages/locale/ta/LC_MESSAGES/django.mo
1677django/contrib/flatpages/locale/ta/LC_MESSAGES/django.po1759django/contrib/flatpages/locale/ta/LC_MESSAGES/django.po
1678django/contrib/flatpages/locale/te/LC_MESSAGES/django.mo1760django/contrib/flatpages/locale/te/LC_MESSAGES/django.mo
1679django/contrib/flatpages/locale/te/LC_MESSAGES/django.po1761django/contrib/flatpages/locale/te/LC_MESSAGES/django.po
1762django/contrib/flatpages/locale/tg/LC_MESSAGES/django.mo
1763django/contrib/flatpages/locale/tg/LC_MESSAGES/django.po
1680django/contrib/flatpages/locale/th/LC_MESSAGES/django.mo1764django/contrib/flatpages/locale/th/LC_MESSAGES/django.mo
1681django/contrib/flatpages/locale/th/LC_MESSAGES/django.po1765django/contrib/flatpages/locale/th/LC_MESSAGES/django.po
1766django/contrib/flatpages/locale/tk/LC_MESSAGES/django.mo
1767django/contrib/flatpages/locale/tk/LC_MESSAGES/django.po
1682django/contrib/flatpages/locale/tr/LC_MESSAGES/django.mo1768django/contrib/flatpages/locale/tr/LC_MESSAGES/django.mo
1683django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po1769django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po
1684django/contrib/flatpages/locale/tt/LC_MESSAGES/django.mo1770django/contrib/flatpages/locale/tt/LC_MESSAGES/django.mo
@@ -1820,6 +1906,8 @@ django/contrib/gis/locale/af/LC_MESSAGES/django.mo
1820django/contrib/gis/locale/af/LC_MESSAGES/django.po1906django/contrib/gis/locale/af/LC_MESSAGES/django.po
1821django/contrib/gis/locale/ar/LC_MESSAGES/django.mo1907django/contrib/gis/locale/ar/LC_MESSAGES/django.mo
1822django/contrib/gis/locale/ar/LC_MESSAGES/django.po1908django/contrib/gis/locale/ar/LC_MESSAGES/django.po
1909django/contrib/gis/locale/ar_DZ/LC_MESSAGES/django.mo
1910django/contrib/gis/locale/ar_DZ/LC_MESSAGES/django.po
1823django/contrib/gis/locale/ast/LC_MESSAGES/django.mo1911django/contrib/gis/locale/ast/LC_MESSAGES/django.mo
1824django/contrib/gis/locale/ast/LC_MESSAGES/django.po1912django/contrib/gis/locale/ast/LC_MESSAGES/django.po
1825django/contrib/gis/locale/az/LC_MESSAGES/django.mo1913django/contrib/gis/locale/az/LC_MESSAGES/django.mo
@@ -1918,6 +2006,8 @@ django/contrib/gis/locale/kn/LC_MESSAGES/django.mo
1918django/contrib/gis/locale/kn/LC_MESSAGES/django.po2006django/contrib/gis/locale/kn/LC_MESSAGES/django.po
1919django/contrib/gis/locale/ko/LC_MESSAGES/django.mo2007django/contrib/gis/locale/ko/LC_MESSAGES/django.mo
1920django/contrib/gis/locale/ko/LC_MESSAGES/django.po2008django/contrib/gis/locale/ko/LC_MESSAGES/django.po
2009django/contrib/gis/locale/ky/LC_MESSAGES/django.mo
2010django/contrib/gis/locale/ky/LC_MESSAGES/django.po
1921django/contrib/gis/locale/lb/LC_MESSAGES/django.mo2011django/contrib/gis/locale/lb/LC_MESSAGES/django.mo
1922django/contrib/gis/locale/lb/LC_MESSAGES/django.po2012django/contrib/gis/locale/lb/LC_MESSAGES/django.po
1923django/contrib/gis/locale/lt/LC_MESSAGES/django.mo2013django/contrib/gis/locale/lt/LC_MESSAGES/django.mo
@@ -1974,6 +2064,8 @@ django/contrib/gis/locale/ta/LC_MESSAGES/django.mo
1974django/contrib/gis/locale/ta/LC_MESSAGES/django.po2064django/contrib/gis/locale/ta/LC_MESSAGES/django.po
1975django/contrib/gis/locale/te/LC_MESSAGES/django.mo2065django/contrib/gis/locale/te/LC_MESSAGES/django.mo
1976django/contrib/gis/locale/te/LC_MESSAGES/django.po2066django/contrib/gis/locale/te/LC_MESSAGES/django.po
2067django/contrib/gis/locale/tg/LC_MESSAGES/django.mo
2068django/contrib/gis/locale/tg/LC_MESSAGES/django.po
1977django/contrib/gis/locale/th/LC_MESSAGES/django.mo2069django/contrib/gis/locale/th/LC_MESSAGES/django.mo
1978django/contrib/gis/locale/th/LC_MESSAGES/django.po2070django/contrib/gis/locale/th/LC_MESSAGES/django.po
1979django/contrib/gis/locale/tr/LC_MESSAGES/django.mo2071django/contrib/gis/locale/tr/LC_MESSAGES/django.mo
@@ -1992,6 +2084,8 @@ django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.mo
1992django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po2084django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po
1993django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.mo2085django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.mo
1994django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po2086django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po
2087django/contrib/gis/management/__init__.py
2088django/contrib/gis/management/commands/__init__.py
1995django/contrib/gis/management/commands/inspectdb.py2089django/contrib/gis/management/commands/inspectdb.py
1996django/contrib/gis/management/commands/ogrinspect.py2090django/contrib/gis/management/commands/ogrinspect.py
1997django/contrib/gis/serializers/__init__.py2091django/contrib/gis/serializers/__init__.py
@@ -2026,6 +2120,8 @@ django/contrib/humanize/locale/af/LC_MESSAGES/django.mo
2026django/contrib/humanize/locale/af/LC_MESSAGES/django.po2120django/contrib/humanize/locale/af/LC_MESSAGES/django.po
2027django/contrib/humanize/locale/ar/LC_MESSAGES/django.mo2121django/contrib/humanize/locale/ar/LC_MESSAGES/django.mo
2028django/contrib/humanize/locale/ar/LC_MESSAGES/django.po2122django/contrib/humanize/locale/ar/LC_MESSAGES/django.po
2123django/contrib/humanize/locale/ar_DZ/LC_MESSAGES/django.mo
2124django/contrib/humanize/locale/ar_DZ/LC_MESSAGES/django.po
2029django/contrib/humanize/locale/ast/LC_MESSAGES/django.mo2125django/contrib/humanize/locale/ast/LC_MESSAGES/django.mo
2030django/contrib/humanize/locale/ast/LC_MESSAGES/django.po2126django/contrib/humanize/locale/ast/LC_MESSAGES/django.po
2031django/contrib/humanize/locale/az/LC_MESSAGES/django.mo2127django/contrib/humanize/locale/az/LC_MESSAGES/django.mo
@@ -2124,6 +2220,8 @@ django/contrib/humanize/locale/kn/LC_MESSAGES/django.mo
2124django/contrib/humanize/locale/kn/LC_MESSAGES/django.po2220django/contrib/humanize/locale/kn/LC_MESSAGES/django.po
2125django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo2221django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo
2126django/contrib/humanize/locale/ko/LC_MESSAGES/django.po2222django/contrib/humanize/locale/ko/LC_MESSAGES/django.po
2223django/contrib/humanize/locale/ky/LC_MESSAGES/django.mo
2224django/contrib/humanize/locale/ky/LC_MESSAGES/django.po
2127django/contrib/humanize/locale/lb/LC_MESSAGES/django.mo2225django/contrib/humanize/locale/lb/LC_MESSAGES/django.mo
2128django/contrib/humanize/locale/lb/LC_MESSAGES/django.po2226django/contrib/humanize/locale/lb/LC_MESSAGES/django.po
2129django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo2227django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo
@@ -2182,6 +2280,8 @@ django/contrib/humanize/locale/ta/LC_MESSAGES/django.mo
2182django/contrib/humanize/locale/ta/LC_MESSAGES/django.po2280django/contrib/humanize/locale/ta/LC_MESSAGES/django.po
2183django/contrib/humanize/locale/te/LC_MESSAGES/django.mo2281django/contrib/humanize/locale/te/LC_MESSAGES/django.mo
2184django/contrib/humanize/locale/te/LC_MESSAGES/django.po2282django/contrib/humanize/locale/te/LC_MESSAGES/django.po
2283django/contrib/humanize/locale/tg/LC_MESSAGES/django.mo
2284django/contrib/humanize/locale/tg/LC_MESSAGES/django.po
2185django/contrib/humanize/locale/th/LC_MESSAGES/django.mo2285django/contrib/humanize/locale/th/LC_MESSAGES/django.mo
2186django/contrib/humanize/locale/th/LC_MESSAGES/django.po2286django/contrib/humanize/locale/th/LC_MESSAGES/django.po
2187django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo2287django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo
@@ -2194,6 +2294,8 @@ django/contrib/humanize/locale/uk/LC_MESSAGES/django.mo
2194django/contrib/humanize/locale/uk/LC_MESSAGES/django.po2294django/contrib/humanize/locale/uk/LC_MESSAGES/django.po
2195django/contrib/humanize/locale/ur/LC_MESSAGES/django.mo2295django/contrib/humanize/locale/ur/LC_MESSAGES/django.mo
2196django/contrib/humanize/locale/ur/LC_MESSAGES/django.po2296django/contrib/humanize/locale/ur/LC_MESSAGES/django.po
2297django/contrib/humanize/locale/uz/LC_MESSAGES/django.mo
2298django/contrib/humanize/locale/uz/LC_MESSAGES/django.po
2197django/contrib/humanize/locale/vi/LC_MESSAGES/django.mo2299django/contrib/humanize/locale/vi/LC_MESSAGES/django.mo
2198django/contrib/humanize/locale/vi/LC_MESSAGES/django.po2300django/contrib/humanize/locale/vi/LC_MESSAGES/django.po
2199django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.mo2301django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.mo
@@ -2217,6 +2319,7 @@ django/contrib/messages/storage/fallback.py
2217django/contrib/messages/storage/session.py2319django/contrib/messages/storage/session.py
2218django/contrib/postgres/__init__.py2320django/contrib/postgres/__init__.py
2219django/contrib/postgres/apps.py2321django/contrib/postgres/apps.py
2322django/contrib/postgres/constraints.py
2220django/contrib/postgres/functions.py2323django/contrib/postgres/functions.py
2221django/contrib/postgres/indexes.py2324django/contrib/postgres/indexes.py
2222django/contrib/postgres/lookups.py2325django/contrib/postgres/lookups.py
@@ -2235,7 +2338,6 @@ django/contrib/postgres/fields/array.py
2235django/contrib/postgres/fields/citext.py2338django/contrib/postgres/fields/citext.py
2236django/contrib/postgres/fields/hstore.py2339django/contrib/postgres/fields/hstore.py
2237django/contrib/postgres/fields/jsonb.py2340django/contrib/postgres/fields/jsonb.py
2238django/contrib/postgres/fields/mixins.py
2239django/contrib/postgres/fields/ranges.py2341django/contrib/postgres/fields/ranges.py
2240django/contrib/postgres/fields/utils.py2342django/contrib/postgres/fields/utils.py
2241django/contrib/postgres/forms/__init__.py2343django/contrib/postgres/forms/__init__.py
@@ -2248,6 +2350,8 @@ django/contrib/postgres/locale/af/LC_MESSAGES/django.mo
2248django/contrib/postgres/locale/af/LC_MESSAGES/django.po2350django/contrib/postgres/locale/af/LC_MESSAGES/django.po
2249django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo2351django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo
2250django/contrib/postgres/locale/ar/LC_MESSAGES/django.po2352django/contrib/postgres/locale/ar/LC_MESSAGES/django.po
2353django/contrib/postgres/locale/ar_DZ/LC_MESSAGES/django.mo
2354django/contrib/postgres/locale/ar_DZ/LC_MESSAGES/django.po
2251django/contrib/postgres/locale/az/LC_MESSAGES/django.mo2355django/contrib/postgres/locale/az/LC_MESSAGES/django.mo
2252django/contrib/postgres/locale/az/LC_MESSAGES/django.po2356django/contrib/postgres/locale/az/LC_MESSAGES/django.po
2253django/contrib/postgres/locale/be/LC_MESSAGES/django.mo2357django/contrib/postgres/locale/be/LC_MESSAGES/django.mo
@@ -2318,12 +2422,16 @@ django/contrib/postgres/locale/kk/LC_MESSAGES/django.mo
2318django/contrib/postgres/locale/kk/LC_MESSAGES/django.po2422django/contrib/postgres/locale/kk/LC_MESSAGES/django.po
2319django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo2423django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo
2320django/contrib/postgres/locale/ko/LC_MESSAGES/django.po2424django/contrib/postgres/locale/ko/LC_MESSAGES/django.po
2425django/contrib/postgres/locale/ky/LC_MESSAGES/django.mo
2426django/contrib/postgres/locale/ky/LC_MESSAGES/django.po
2321django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo2427django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo
2322django/contrib/postgres/locale/lt/LC_MESSAGES/django.po2428django/contrib/postgres/locale/lt/LC_MESSAGES/django.po
2323django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo2429django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo
2324django/contrib/postgres/locale/lv/LC_MESSAGES/django.po2430django/contrib/postgres/locale/lv/LC_MESSAGES/django.po
2325django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo2431django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo
2326django/contrib/postgres/locale/mk/LC_MESSAGES/django.po2432django/contrib/postgres/locale/mk/LC_MESSAGES/django.po
2433django/contrib/postgres/locale/ml/LC_MESSAGES/django.mo
2434django/contrib/postgres/locale/ml/LC_MESSAGES/django.po
2327django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo2435django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo
2328django/contrib/postgres/locale/mn/LC_MESSAGES/django.po2436django/contrib/postgres/locale/mn/LC_MESSAGES/django.po
2329django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo2437django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo
@@ -2354,10 +2462,16 @@ django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.mo
2354django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.po2462django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.po
2355django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo2463django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo
2356django/contrib/postgres/locale/sv/LC_MESSAGES/django.po2464django/contrib/postgres/locale/sv/LC_MESSAGES/django.po
2465django/contrib/postgres/locale/tg/LC_MESSAGES/django.mo
2466django/contrib/postgres/locale/tg/LC_MESSAGES/django.po
2467django/contrib/postgres/locale/tk/LC_MESSAGES/django.mo
2468django/contrib/postgres/locale/tk/LC_MESSAGES/django.po
2357django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo2469django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo
2358django/contrib/postgres/locale/tr/LC_MESSAGES/django.po2470django/contrib/postgres/locale/tr/LC_MESSAGES/django.po
2359django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo2471django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo
2360django/contrib/postgres/locale/uk/LC_MESSAGES/django.po2472django/contrib/postgres/locale/uk/LC_MESSAGES/django.po
2473django/contrib/postgres/locale/uz/LC_MESSAGES/django.mo
2474django/contrib/postgres/locale/uz/LC_MESSAGES/django.po
2361django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo2475django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo
2362django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po2476django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po
2363django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.mo2477django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.mo
@@ -2372,6 +2486,8 @@ django/contrib/redirects/locale/af/LC_MESSAGES/django.mo
2372django/contrib/redirects/locale/af/LC_MESSAGES/django.po2486django/contrib/redirects/locale/af/LC_MESSAGES/django.po
2373django/contrib/redirects/locale/ar/LC_MESSAGES/django.mo2487django/contrib/redirects/locale/ar/LC_MESSAGES/django.mo
2374django/contrib/redirects/locale/ar/LC_MESSAGES/django.po2488django/contrib/redirects/locale/ar/LC_MESSAGES/django.po
2489django/contrib/redirects/locale/ar_DZ/LC_MESSAGES/django.mo
2490django/contrib/redirects/locale/ar_DZ/LC_MESSAGES/django.po
2375django/contrib/redirects/locale/ast/LC_MESSAGES/django.mo2491django/contrib/redirects/locale/ast/LC_MESSAGES/django.mo
2376django/contrib/redirects/locale/ast/LC_MESSAGES/django.po2492django/contrib/redirects/locale/ast/LC_MESSAGES/django.po
2377django/contrib/redirects/locale/az/LC_MESSAGES/django.mo2493django/contrib/redirects/locale/az/LC_MESSAGES/django.mo
@@ -2472,6 +2588,8 @@ django/contrib/redirects/locale/kn/LC_MESSAGES/django.mo
2472django/contrib/redirects/locale/kn/LC_MESSAGES/django.po2588django/contrib/redirects/locale/kn/LC_MESSAGES/django.po
2473django/contrib/redirects/locale/ko/LC_MESSAGES/django.mo2589django/contrib/redirects/locale/ko/LC_MESSAGES/django.mo
2474django/contrib/redirects/locale/ko/LC_MESSAGES/django.po2590django/contrib/redirects/locale/ko/LC_MESSAGES/django.po
2591django/contrib/redirects/locale/ky/LC_MESSAGES/django.mo
2592django/contrib/redirects/locale/ky/LC_MESSAGES/django.po
2475django/contrib/redirects/locale/lb/LC_MESSAGES/django.mo2593django/contrib/redirects/locale/lb/LC_MESSAGES/django.mo
2476django/contrib/redirects/locale/lb/LC_MESSAGES/django.po2594django/contrib/redirects/locale/lb/LC_MESSAGES/django.po
2477django/contrib/redirects/locale/lt/LC_MESSAGES/django.mo2595django/contrib/redirects/locale/lt/LC_MESSAGES/django.mo
@@ -2528,8 +2646,12 @@ django/contrib/redirects/locale/ta/LC_MESSAGES/django.mo
2528django/contrib/redirects/locale/ta/LC_MESSAGES/django.po2646django/contrib/redirects/locale/ta/LC_MESSAGES/django.po
2529django/contrib/redirects/locale/te/LC_MESSAGES/django.mo2647django/contrib/redirects/locale/te/LC_MESSAGES/django.mo
2530django/contrib/redirects/locale/te/LC_MESSAGES/django.po2648django/contrib/redirects/locale/te/LC_MESSAGES/django.po
2649django/contrib/redirects/locale/tg/LC_MESSAGES/django.mo
2650django/contrib/redirects/locale/tg/LC_MESSAGES/django.po
2531django/contrib/redirects/locale/th/LC_MESSAGES/django.mo2651django/contrib/redirects/locale/th/LC_MESSAGES/django.mo
2532django/contrib/redirects/locale/th/LC_MESSAGES/django.po2652django/contrib/redirects/locale/th/LC_MESSAGES/django.po
2653django/contrib/redirects/locale/tk/LC_MESSAGES/django.mo
2654django/contrib/redirects/locale/tk/LC_MESSAGES/django.po
2533django/contrib/redirects/locale/tr/LC_MESSAGES/django.mo2655django/contrib/redirects/locale/tr/LC_MESSAGES/django.mo
2534django/contrib/redirects/locale/tr/LC_MESSAGES/django.po2656django/contrib/redirects/locale/tr/LC_MESSAGES/django.po
2535django/contrib/redirects/locale/tt/LC_MESSAGES/django.mo2657django/contrib/redirects/locale/tt/LC_MESSAGES/django.mo
@@ -2549,6 +2671,7 @@ django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po
2549django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.mo2671django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.mo
2550django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po2672django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po
2551django/contrib/redirects/migrations/0001_initial.py2673django/contrib/redirects/migrations/0001_initial.py
2674django/contrib/redirects/migrations/0002_alter_redirect_new_path_help_text.py
2552django/contrib/redirects/migrations/__init__.py2675django/contrib/redirects/migrations/__init__.py
2553django/contrib/sessions/__init__.py2676django/contrib/sessions/__init__.py
2554django/contrib/sessions/apps.py2677django/contrib/sessions/apps.py
@@ -2568,6 +2691,8 @@ django/contrib/sessions/locale/af/LC_MESSAGES/django.mo
2568django/contrib/sessions/locale/af/LC_MESSAGES/django.po2691django/contrib/sessions/locale/af/LC_MESSAGES/django.po
2569django/contrib/sessions/locale/ar/LC_MESSAGES/django.mo2692django/contrib/sessions/locale/ar/LC_MESSAGES/django.mo
2570django/contrib/sessions/locale/ar/LC_MESSAGES/django.po2693django/contrib/sessions/locale/ar/LC_MESSAGES/django.po
2694django/contrib/sessions/locale/ar_DZ/LC_MESSAGES/django.mo
2695django/contrib/sessions/locale/ar_DZ/LC_MESSAGES/django.po
2571django/contrib/sessions/locale/ast/LC_MESSAGES/django.mo2696django/contrib/sessions/locale/ast/LC_MESSAGES/django.mo
2572django/contrib/sessions/locale/ast/LC_MESSAGES/django.po2697django/contrib/sessions/locale/ast/LC_MESSAGES/django.po
2573django/contrib/sessions/locale/az/LC_MESSAGES/django.mo2698django/contrib/sessions/locale/az/LC_MESSAGES/django.mo
@@ -2668,6 +2793,8 @@ django/contrib/sessions/locale/kn/LC_MESSAGES/django.mo
2668django/contrib/sessions/locale/kn/LC_MESSAGES/django.po2793django/contrib/sessions/locale/kn/LC_MESSAGES/django.po
2669django/contrib/sessions/locale/ko/LC_MESSAGES/django.mo2794django/contrib/sessions/locale/ko/LC_MESSAGES/django.mo
2670django/contrib/sessions/locale/ko/LC_MESSAGES/django.po2795django/contrib/sessions/locale/ko/LC_MESSAGES/django.po
2796django/contrib/sessions/locale/ky/LC_MESSAGES/django.mo
2797django/contrib/sessions/locale/ky/LC_MESSAGES/django.po
2671django/contrib/sessions/locale/lb/LC_MESSAGES/django.mo2798django/contrib/sessions/locale/lb/LC_MESSAGES/django.mo
2672django/contrib/sessions/locale/lb/LC_MESSAGES/django.po2799django/contrib/sessions/locale/lb/LC_MESSAGES/django.po
2673django/contrib/sessions/locale/lt/LC_MESSAGES/django.mo2800django/contrib/sessions/locale/lt/LC_MESSAGES/django.mo
@@ -2724,8 +2851,12 @@ django/contrib/sessions/locale/ta/LC_MESSAGES/django.mo
2724django/contrib/sessions/locale/ta/LC_MESSAGES/django.po2851django/contrib/sessions/locale/ta/LC_MESSAGES/django.po
2725django/contrib/sessions/locale/te/LC_MESSAGES/django.mo2852django/contrib/sessions/locale/te/LC_MESSAGES/django.mo
2726django/contrib/sessions/locale/te/LC_MESSAGES/django.po2853django/contrib/sessions/locale/te/LC_MESSAGES/django.po
2854django/contrib/sessions/locale/tg/LC_MESSAGES/django.mo
2855django/contrib/sessions/locale/tg/LC_MESSAGES/django.po
2727django/contrib/sessions/locale/th/LC_MESSAGES/django.mo2856django/contrib/sessions/locale/th/LC_MESSAGES/django.mo
2728django/contrib/sessions/locale/th/LC_MESSAGES/django.po2857django/contrib/sessions/locale/th/LC_MESSAGES/django.po
2858django/contrib/sessions/locale/tk/LC_MESSAGES/django.mo
2859django/contrib/sessions/locale/tk/LC_MESSAGES/django.po
2729django/contrib/sessions/locale/tr/LC_MESSAGES/django.mo2860django/contrib/sessions/locale/tr/LC_MESSAGES/django.mo
2730django/contrib/sessions/locale/tr/LC_MESSAGES/django.po2861django/contrib/sessions/locale/tr/LC_MESSAGES/django.po
2731django/contrib/sessions/locale/tt/LC_MESSAGES/django.mo2862django/contrib/sessions/locale/tt/LC_MESSAGES/django.mo
@@ -2744,18 +2875,23 @@ django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.mo
2744django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po2875django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po
2745django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.mo2876django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.mo
2746django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po2877django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po
2878django/contrib/sessions/management/__init__.py
2879django/contrib/sessions/management/commands/__init__.py
2747django/contrib/sessions/management/commands/clearsessions.py2880django/contrib/sessions/management/commands/clearsessions.py
2748django/contrib/sessions/migrations/0001_initial.py2881django/contrib/sessions/migrations/0001_initial.py
2749django/contrib/sessions/migrations/__init__.py2882django/contrib/sessions/migrations/__init__.py
2750django/contrib/sitemaps/__init__.py2883django/contrib/sitemaps/__init__.py
2751django/contrib/sitemaps/apps.py2884django/contrib/sitemaps/apps.py
2752django/contrib/sitemaps/views.py2885django/contrib/sitemaps/views.py
2886django/contrib/sitemaps/management/__init__.py
2887django/contrib/sitemaps/management/commands/__init__.py
2753django/contrib/sitemaps/management/commands/ping_google.py2888django/contrib/sitemaps/management/commands/ping_google.py
2754django/contrib/sitemaps/templates/sitemap.xml2889django/contrib/sitemaps/templates/sitemap.xml
2755django/contrib/sitemaps/templates/sitemap_index.xml2890django/contrib/sitemaps/templates/sitemap_index.xml
2756django/contrib/sites/__init__.py2891django/contrib/sites/__init__.py
2757django/contrib/sites/admin.py2892django/contrib/sites/admin.py
2758django/contrib/sites/apps.py2893django/contrib/sites/apps.py
2894django/contrib/sites/checks.py
2759django/contrib/sites/management.py2895django/contrib/sites/management.py
2760django/contrib/sites/managers.py2896django/contrib/sites/managers.py
2761django/contrib/sites/middleware.py2897django/contrib/sites/middleware.py
@@ -2766,6 +2902,8 @@ django/contrib/sites/locale/af/LC_MESSAGES/django.mo
2766django/contrib/sites/locale/af/LC_MESSAGES/django.po2902django/contrib/sites/locale/af/LC_MESSAGES/django.po
2767django/contrib/sites/locale/ar/LC_MESSAGES/django.mo2903django/contrib/sites/locale/ar/LC_MESSAGES/django.mo
2768django/contrib/sites/locale/ar/LC_MESSAGES/django.po2904django/contrib/sites/locale/ar/LC_MESSAGES/django.po
2905django/contrib/sites/locale/ar_DZ/LC_MESSAGES/django.mo
2906django/contrib/sites/locale/ar_DZ/LC_MESSAGES/django.po
2769django/contrib/sites/locale/ast/LC_MESSAGES/django.mo2907django/contrib/sites/locale/ast/LC_MESSAGES/django.mo
2770django/contrib/sites/locale/ast/LC_MESSAGES/django.po2908django/contrib/sites/locale/ast/LC_MESSAGES/django.po
2771django/contrib/sites/locale/az/LC_MESSAGES/django.mo2909django/contrib/sites/locale/az/LC_MESSAGES/django.mo
@@ -2866,6 +3004,8 @@ django/contrib/sites/locale/kn/LC_MESSAGES/django.mo
2866django/contrib/sites/locale/kn/LC_MESSAGES/django.po3004django/contrib/sites/locale/kn/LC_MESSAGES/django.po
2867django/contrib/sites/locale/ko/LC_MESSAGES/django.mo3005django/contrib/sites/locale/ko/LC_MESSAGES/django.mo
2868django/contrib/sites/locale/ko/LC_MESSAGES/django.po3006django/contrib/sites/locale/ko/LC_MESSAGES/django.po
3007django/contrib/sites/locale/ky/LC_MESSAGES/django.mo
3008django/contrib/sites/locale/ky/LC_MESSAGES/django.po
2869django/contrib/sites/locale/lb/LC_MESSAGES/django.mo3009django/contrib/sites/locale/lb/LC_MESSAGES/django.mo
2870django/contrib/sites/locale/lb/LC_MESSAGES/django.po3010django/contrib/sites/locale/lb/LC_MESSAGES/django.po
2871django/contrib/sites/locale/lt/LC_MESSAGES/django.mo3011django/contrib/sites/locale/lt/LC_MESSAGES/django.mo
@@ -2922,8 +3062,12 @@ django/contrib/sites/locale/ta/LC_MESSAGES/django.mo
2922django/contrib/sites/locale/ta/LC_MESSAGES/django.po3062django/contrib/sites/locale/ta/LC_MESSAGES/django.po
2923django/contrib/sites/locale/te/LC_MESSAGES/django.mo3063django/contrib/sites/locale/te/LC_MESSAGES/django.mo
2924django/contrib/sites/locale/te/LC_MESSAGES/django.po3064django/contrib/sites/locale/te/LC_MESSAGES/django.po
3065django/contrib/sites/locale/tg/LC_MESSAGES/django.mo
3066django/contrib/sites/locale/tg/LC_MESSAGES/django.po
2925django/contrib/sites/locale/th/LC_MESSAGES/django.mo3067django/contrib/sites/locale/th/LC_MESSAGES/django.mo
2926django/contrib/sites/locale/th/LC_MESSAGES/django.po3068django/contrib/sites/locale/th/LC_MESSAGES/django.po
3069django/contrib/sites/locale/tk/LC_MESSAGES/django.mo
3070django/contrib/sites/locale/tk/LC_MESSAGES/django.po
2927django/contrib/sites/locale/tr/LC_MESSAGES/django.mo3071django/contrib/sites/locale/tr/LC_MESSAGES/django.mo
2928django/contrib/sites/locale/tr/LC_MESSAGES/django.po3072django/contrib/sites/locale/tr/LC_MESSAGES/django.po
2929django/contrib/sites/locale/tt/LC_MESSAGES/django.mo3073django/contrib/sites/locale/tt/LC_MESSAGES/django.mo
@@ -2955,15 +3099,16 @@ django/contrib/staticfiles/testing.py
2955django/contrib/staticfiles/urls.py3099django/contrib/staticfiles/urls.py
2956django/contrib/staticfiles/utils.py3100django/contrib/staticfiles/utils.py
2957django/contrib/staticfiles/views.py3101django/contrib/staticfiles/views.py
3102django/contrib/staticfiles/management/__init__.py
3103django/contrib/staticfiles/management/commands/__init__.py
2958django/contrib/staticfiles/management/commands/collectstatic.py3104django/contrib/staticfiles/management/commands/collectstatic.py
2959django/contrib/staticfiles/management/commands/findstatic.py3105django/contrib/staticfiles/management/commands/findstatic.py
2960django/contrib/staticfiles/management/commands/runserver.py3106django/contrib/staticfiles/management/commands/runserver.py
2961django/contrib/staticfiles/templatetags/__init__.py
2962django/contrib/staticfiles/templatetags/staticfiles.py
2963django/contrib/syndication/__init__.py3107django/contrib/syndication/__init__.py
2964django/contrib/syndication/apps.py3108django/contrib/syndication/apps.py
2965django/contrib/syndication/views.py3109django/contrib/syndication/views.py
2966django/core/__init__.py3110django/core/__init__.py
3111django/core/asgi.py
2967django/core/exceptions.py3112django/core/exceptions.py
2968django/core/paginator.py3113django/core/paginator.py
2969django/core/signals.py3114django/core/signals.py
@@ -2980,6 +3125,7 @@ django/core/cache/backends/filebased.py
2980django/core/cache/backends/locmem.py3125django/core/cache/backends/locmem.py
2981django/core/cache/backends/memcached.py3126django/core/cache/backends/memcached.py
2982django/core/checks/__init__.py3127django/core/checks/__init__.py
3128django/core/checks/async_checks.py
2983django/core/checks/caches.py3129django/core/checks/caches.py
2984django/core/checks/database.py3130django/core/checks/database.py
2985django/core/checks/messages.py3131django/core/checks/messages.py
@@ -3004,6 +3150,7 @@ django/core/files/uploadedfile.py
3004django/core/files/uploadhandler.py3150django/core/files/uploadhandler.py
3005django/core/files/utils.py3151django/core/files/utils.py
3006django/core/handlers/__init__.py3152django/core/handlers/__init__.py
3153django/core/handlers/asgi.py
3007django/core/handlers/base.py3154django/core/handlers/base.py
3008django/core/handlers/exception.py3155django/core/handlers/exception.py
3009django/core/handlers/wsgi.py3156django/core/handlers/wsgi.py
@@ -3023,6 +3170,7 @@ django/core/management/color.py
3023django/core/management/sql.py3170django/core/management/sql.py
3024django/core/management/templates.py3171django/core/management/templates.py
3025django/core/management/utils.py3172django/core/management/utils.py
3173django/core/management/commands/__init__.py
3026django/core/management/commands/check.py3174django/core/management/commands/check.py
3027django/core/management/commands/compilemessages.py3175django/core/management/commands/compilemessages.py
3028django/core/management/commands/createcachetable.py3176django/core/management/commands/createcachetable.py
@@ -3050,6 +3198,7 @@ django/core/management/commands/testserver.py
3050django/core/serializers/__init__.py3198django/core/serializers/__init__.py
3051django/core/serializers/base.py3199django/core/serializers/base.py
3052django/core/serializers/json.py3200django/core/serializers/json.py
3201django/core/serializers/jsonl.py
3053django/core/serializers/python.py3202django/core/serializers/python.py
3054django/core/serializers/pyyaml.py3203django/core/serializers/pyyaml.py
3055django/core/serializers/xml_serializer.py3204django/core/serializers/xml_serializer.py
@@ -3087,7 +3236,6 @@ django/db/backends/mysql/validation.py
3087django/db/backends/oracle/__init__.py3236django/db/backends/oracle/__init__.py
3088django/db/backends/oracle/base.py3237django/db/backends/oracle/base.py
3089django/db/backends/oracle/client.py3238django/db/backends/oracle/client.py
3090django/db/backends/oracle/compiler.py
3091django/db/backends/oracle/creation.py3239django/db/backends/oracle/creation.py
3092django/db/backends/oracle/features.py3240django/db/backends/oracle/features.py
3093django/db/backends/oracle/functions.py3241django/db/backends/oracle/functions.py
@@ -3104,16 +3252,6 @@ django/db/backends/postgresql/features.py
3104django/db/backends/postgresql/introspection.py3252django/db/backends/postgresql/introspection.py
3105django/db/backends/postgresql/operations.py3253django/db/backends/postgresql/operations.py
3106django/db/backends/postgresql/schema.py3254django/db/backends/postgresql/schema.py
3107django/db/backends/postgresql/utils.py
3108django/db/backends/postgresql_psycopg2/__init__.py
3109django/db/backends/postgresql_psycopg2/base.py
3110django/db/backends/postgresql_psycopg2/client.py
3111django/db/backends/postgresql_psycopg2/creation.py
3112django/db/backends/postgresql_psycopg2/features.py
3113django/db/backends/postgresql_psycopg2/introspection.py
3114django/db/backends/postgresql_psycopg2/operations.py
3115django/db/backends/postgresql_psycopg2/schema.py
3116django/db/backends/postgresql_psycopg2/utils.py
3117django/db/backends/sqlite3/__init__.py3255django/db/backends/sqlite3/__init__.py
3118django/db/backends/sqlite3/base.py3256django/db/backends/sqlite3/base.py
3119django/db/backends/sqlite3/client.py3257django/db/backends/sqlite3/client.py
@@ -3148,6 +3286,7 @@ django/db/models/base.py
3148django/db/models/constants.py3286django/db/models/constants.py
3149django/db/models/constraints.py3287django/db/models/constraints.py
3150django/db/models/deletion.py3288django/db/models/deletion.py
3289django/db/models/enums.py
3151django/db/models/expressions.py3290django/db/models/expressions.py
3152django/db/models/indexes.py3291django/db/models/indexes.py
3153django/db/models/lookups.py3292django/db/models/lookups.py
@@ -3159,6 +3298,7 @@ django/db/models/signals.py
3159django/db/models/utils.py3298django/db/models/utils.py
3160django/db/models/fields/__init__.py3299django/db/models/fields/__init__.py
3161django/db/models/fields/files.py3300django/db/models/fields/files.py
3301django/db/models/fields/json.py
3162django/db/models/fields/mixins.py3302django/db/models/fields/mixins.py
3163django/db/models/fields/proxy.py3303django/db/models/fields/proxy.py
3164django/db/models/fields/related.py3304django/db/models/fields/related.py
@@ -3262,6 +3402,7 @@ django/middleware/http.py
3262django/middleware/locale.py3402django/middleware/locale.py
3263django/middleware/security.py3403django/middleware/security.py
3264django/template/__init__.py3404django/template/__init__.py
3405django/template/autoreload.py
3265django/template/base.py3406django/template/base.py
3266django/template/context.py3407django/template/context.py
3267django/template/context_processors.py3408django/template/context_processors.py
@@ -3311,9 +3452,11 @@ django/urls/utils.py
3311django/utils/__init__.py3452django/utils/__init__.py
3312django/utils/_os.py3453django/utils/_os.py
3313django/utils/archive.py3454django/utils/archive.py
3455django/utils/asyncio.py
3314django/utils/autoreload.py3456django/utils/autoreload.py
3315django/utils/baseconv.py3457django/utils/baseconv.py
3316django/utils/cache.py3458django/utils/cache.py
3459django/utils/connection.py
3317django/utils/crypto.py3460django/utils/crypto.py
3318django/utils/datastructures.py3461django/utils/datastructures.py
3319django/utils/dateformat.py3462django/utils/dateformat.py
@@ -3337,12 +3480,10 @@ django/utils/itercompat.py
3337django/utils/jslex.py3480django/utils/jslex.py
3338django/utils/log.py3481django/utils/log.py
3339django/utils/lorem_ipsum.py3482django/utils/lorem_ipsum.py
3340django/utils/lru_cache.py
3341django/utils/module_loading.py3483django/utils/module_loading.py
3342django/utils/numberformat.py3484django/utils/numberformat.py
3343django/utils/regex_helper.py3485django/utils/regex_helper.py
3344django/utils/safestring.py3486django/utils/safestring.py
3345django/utils/six.py
3346django/utils/termcolors.py3487django/utils/termcolors.py
3347django/utils/text.py3488django/utils/text.py
3348django/utils/timesince.py3489django/utils/timesince.py
@@ -3365,6 +3506,7 @@ django/views/static.py
3365django/views/decorators/__init__.py3506django/views/decorators/__init__.py
3366django/views/decorators/cache.py3507django/views/decorators/cache.py
3367django/views/decorators/clickjacking.py3508django/views/decorators/clickjacking.py
3509django/views/decorators/common.py
3368django/views/decorators/csrf.py3510django/views/decorators/csrf.py
3369django/views/decorators/debug.py3511django/views/decorators/debug.py
3370django/views/decorators/gzip.py3512django/views/decorators/gzip.py
@@ -3381,7 +3523,7 @@ django/views/templates/technical_404.html
3381django/views/templates/technical_500.html3523django/views/templates/technical_500.html
3382django/views/templates/technical_500.txt3524django/views/templates/technical_500.txt
3383docs/Makefile3525docs/Makefile
3384docs/README3526docs/README.rst
3385docs/conf.py3527docs/conf.py
3386docs/contents.txt3528docs/contents.txt
3387docs/glossary.txt3529docs/glossary.txt
@@ -3432,11 +3574,11 @@ docs/howto/custom-file-storage.txt
3432docs/howto/custom-lookups.txt3574docs/howto/custom-lookups.txt
3433docs/howto/custom-management-commands.txt3575docs/howto/custom-management-commands.txt
3434docs/howto/custom-model-fields.txt3576docs/howto/custom-model-fields.txt
3577docs/howto/custom-template-backend.txt
3435docs/howto/custom-template-tags.txt3578docs/howto/custom-template-tags.txt
3436docs/howto/error-reporting.txt3579docs/howto/error-reporting.txt
3437docs/howto/index.txt3580docs/howto/index.txt
3438docs/howto/initial-data.txt3581docs/howto/initial-data.txt
3439docs/howto/jython.txt
3440docs/howto/legacy-databases.txt3582docs/howto/legacy-databases.txt
3441docs/howto/outputting-csv.txt3583docs/howto/outputting-csv.txt
3442docs/howto/outputting-pdf.txt3584docs/howto/outputting-pdf.txt
@@ -3444,8 +3586,14 @@ docs/howto/overriding-templates.txt
3444docs/howto/upgrade-version.txt3586docs/howto/upgrade-version.txt
3445docs/howto/windows.txt3587docs/howto/windows.txt
3446docs/howto/writing-migrations.txt3588docs/howto/writing-migrations.txt
3589docs/howto/_images/postmortem.png
3590docs/howto/_images/template-lines.png
3447docs/howto/deployment/checklist.txt3591docs/howto/deployment/checklist.txt
3448docs/howto/deployment/index.txt3592docs/howto/deployment/index.txt
3593docs/howto/deployment/asgi/daphne.txt
3594docs/howto/deployment/asgi/hypercorn.txt
3595docs/howto/deployment/asgi/index.txt
3596docs/howto/deployment/asgi/uvicorn.txt
3449docs/howto/deployment/wsgi/apache-auth.txt3597docs/howto/deployment/wsgi/apache-auth.txt
3450docs/howto/deployment/wsgi/gunicorn.txt3598docs/howto/deployment/wsgi/gunicorn.txt
3451docs/howto/deployment/wsgi/index.txt3599docs/howto/deployment/wsgi/index.txt
@@ -3519,6 +3667,7 @@ docs/ref/exceptions.txt
3519docs/ref/index.txt3667docs/ref/index.txt
3520docs/ref/middleware.txt3668docs/ref/middleware.txt
3521docs/ref/migration-operations.txt3669docs/ref/migration-operations.txt
3670docs/ref/paginator.txt
3522docs/ref/request-response.txt3671docs/ref/request-response.txt
3523docs/ref/schema-editor.txt3672docs/ref/schema-editor.txt
3524docs/ref/settings.txt3673docs/ref/settings.txt
@@ -3589,6 +3738,7 @@ docs/ref/contrib/gis/install/index.txt
3589docs/ref/contrib/gis/install/postgis.txt3738docs/ref/contrib/gis/install/postgis.txt
3590docs/ref/contrib/gis/install/spatialite.txt3739docs/ref/contrib/gis/install/spatialite.txt
3591docs/ref/contrib/postgres/aggregates.txt3740docs/ref/contrib/postgres/aggregates.txt
3741docs/ref/contrib/postgres/constraints.txt
3592docs/ref/contrib/postgres/fields.txt3742docs/ref/contrib/postgres/fields.txt
3593docs/ref/contrib/postgres/forms.txt3743docs/ref/contrib/postgres/forms.txt
3594docs/ref/contrib/postgres/functions.txt3744docs/ref/contrib/postgres/functions.txt
@@ -3842,8 +3992,48 @@ docs/releases/2.2.7.txt
3842docs/releases/2.2.8.txt3992docs/releases/2.2.8.txt
3843docs/releases/2.2.9.txt3993docs/releases/2.2.9.txt
3844docs/releases/2.2.txt3994docs/releases/2.2.txt
3995docs/releases/3.0.1.txt
3996docs/releases/3.0.10.txt
3997docs/releases/3.0.11.txt
3998docs/releases/3.0.12.txt
3999docs/releases/3.0.13.txt
4000docs/releases/3.0.14.txt
4001docs/releases/3.0.2.txt
4002docs/releases/3.0.3.txt
4003docs/releases/3.0.4.txt
4004docs/releases/3.0.5.txt
4005docs/releases/3.0.6.txt
4006docs/releases/3.0.7.txt
4007docs/releases/3.0.8.txt
4008docs/releases/3.0.9.txt
4009docs/releases/3.0.txt
4010docs/releases/3.1.1.txt
4011docs/releases/3.1.10.txt
4012docs/releases/3.1.11.txt
4013docs/releases/3.1.12.txt
4014docs/releases/3.1.13.txt
4015docs/releases/3.1.2.txt
4016docs/releases/3.1.3.txt
4017docs/releases/3.1.4.txt
4018docs/releases/3.1.5.txt
4019docs/releases/3.1.6.txt
4020docs/releases/3.1.7.txt
4021docs/releases/3.1.8.txt
4022docs/releases/3.1.9.txt
4023docs/releases/3.1.txt
4024docs/releases/3.2.1.txt
4025docs/releases/3.2.2.txt
4026docs/releases/3.2.3.txt
4027docs/releases/3.2.4.txt
4028docs/releases/3.2.5.txt
4029docs/releases/3.2.6.txt
4030docs/releases/3.2.7.txt
4031docs/releases/3.2.8.txt
4032docs/releases/3.2.9.txt
4033docs/releases/3.2.txt
3845docs/releases/index.txt4034docs/releases/index.txt
3846docs/releases/security.txt4035docs/releases/security.txt
4036docs/topics/async.txt
3847docs/topics/cache.txt4037docs/topics/cache.txt
3848docs/topics/checks.txt4038docs/topics/checks.txt
3849docs/topics/conditional-view-processing.txt4039docs/topics/conditional-view-processing.txt
@@ -3862,8 +4052,6 @@ docs/topics/settings.txt
3862docs/topics/signals.txt4052docs/topics/signals.txt
3863docs/topics/signing.txt4053docs/topics/signing.txt
3864docs/topics/templates.txt4054docs/topics/templates.txt
3865docs/topics/_images/postmortem.png
3866docs/topics/_images/template-lines.png
3867docs/topics/auth/customizing.txt4055docs/topics/auth/customizing.txt
3868docs/topics/auth/default.txt4056docs/topics/auth/default.txt
3869docs/topics/auth/index.txt4057docs/topics/auth/index.txt
@@ -3919,7 +4107,6 @@ extras/README.TXT
3919extras/django_bash_completion4107extras/django_bash_completion
3920js_tests/tests.html4108js_tests/tests.html
3921js_tests/admin/DateTimeShortcuts.test.js4109js_tests/admin/DateTimeShortcuts.test.js
3922js_tests/admin/RelatedObjectLookups.test.js
3923js_tests/admin/SelectBox.test.js4110js_tests/admin/SelectBox.test.js
3924js_tests/admin/SelectFilter2.test.js4111js_tests/admin/SelectFilter2.test.js
3925js_tests/admin/URLify.test.js4112js_tests/admin/URLify.test.js
@@ -3927,10 +4114,7 @@ js_tests/admin/actions.test.js
3927js_tests/admin/core.test.js4114js_tests/admin/core.test.js
3928js_tests/admin/inlines.test.js4115js_tests/admin/inlines.test.js
3929js_tests/admin/jsi18n-mocks.test.js4116js_tests/admin/jsi18n-mocks.test.js
3930js_tests/admin/timeparse.test.js
3931js_tests/gis/mapwidget.test.js4117js_tests/gis/mapwidget.test.js
3932js_tests/qunit/qunit.css
3933js_tests/qunit/qunit.js
3934scripts/manage_translations.py4118scripts/manage_translations.py
3935scripts/rpm-install.sh4119scripts/rpm-install.sh
3936tests/.coveragerc4120tests/.coveragerc
@@ -3987,7 +4171,9 @@ tests/admin_registration/__init__.py
3987tests/admin_registration/models.py4171tests/admin_registration/models.py
3988tests/admin_registration/tests.py4172tests/admin_registration/tests.py
3989tests/admin_scripts/__init__.py4173tests/admin_scripts/__init__.py
4174tests/admin_scripts/configured_dynamic_settings_manage.py
3990tests/admin_scripts/configured_settings_manage.py4175tests/admin_scripts/configured_settings_manage.py
4176tests/admin_scripts/test_django_admin_py.py
3991tests/admin_scripts/tests.py4177tests/admin_scripts/tests.py
3992tests/admin_scripts/urls.py4178tests/admin_scripts/urls.py
3993tests/admin_scripts/another_app_waiting_migration/__init__.py4179tests/admin_scripts/another_app_waiting_migration/__init__.py
@@ -4009,6 +4195,8 @@ tests/admin_scripts/broken_app/models.py
4009tests/admin_scripts/complex_app/__init__.py4195tests/admin_scripts/complex_app/__init__.py
4010tests/admin_scripts/complex_app/admin/__init__.py4196tests/admin_scripts/complex_app/admin/__init__.py
4011tests/admin_scripts/complex_app/admin/foo.py4197tests/admin_scripts/complex_app/admin/foo.py
4198tests/admin_scripts/complex_app/management/__init__.py
4199tests/admin_scripts/complex_app/management/commands/__init__.py
4012tests/admin_scripts/complex_app/management/commands/duplicate.py4200tests/admin_scripts/complex_app/management/commands/duplicate.py
4013tests/admin_scripts/complex_app/models/__init__.py4201tests/admin_scripts/complex_app/models/__init__.py
4014tests/admin_scripts/complex_app/models/bar.py4202tests/admin_scripts/complex_app/models/bar.py
@@ -4026,6 +4214,8 @@ tests/admin_scripts/custom_templates/project_template/additional_dir/localized.p
4026tests/admin_scripts/custom_templates/project_template/additional_dir/requirements.txt4214tests/admin_scripts/custom_templates/project_template/additional_dir/requirements.txt
4027tests/admin_scripts/custom_templates/project_template/project_name/__init__.py4215tests/admin_scripts/custom_templates/project_template/project_name/__init__.py
4028tests/admin_scripts/custom_templates/project_template/project_name/settings.py4216tests/admin_scripts/custom_templates/project_template/project_name/settings.py
4217tests/admin_scripts/management/__init__.py
4218tests/admin_scripts/management/commands/__init__.py
4029tests/admin_scripts/management/commands/app_command.py4219tests/admin_scripts/management/commands/app_command.py
4030tests/admin_scripts/management/commands/base_command.py4220tests/admin_scripts/management/commands/base_command.py
4031tests/admin_scripts/management/commands/custom_startproject.py4221tests/admin_scripts/management/commands/custom_startproject.py
@@ -4033,6 +4223,8 @@ tests/admin_scripts/management/commands/label_command.py
4033tests/admin_scripts/management/commands/noargs_command.py4223tests/admin_scripts/management/commands/noargs_command.py
4034tests/admin_scripts/simple_app/__init__.py4224tests/admin_scripts/simple_app/__init__.py
4035tests/admin_scripts/simple_app/models.py4225tests/admin_scripts/simple_app/models.py
4226tests/admin_scripts/simple_app/management/__init__.py
4227tests/admin_scripts/simple_app/management/commands/__init__.py
4036tests/admin_scripts/simple_app/management/commands/duplicate.py4228tests/admin_scripts/simple_app/management/commands/duplicate.py
4037tests/admin_utils/__init__.py4229tests/admin_utils/__init__.py
4038tests/admin_utils/admin.py4230tests/admin_utils/admin.py
@@ -4050,8 +4242,9 @@ tests/admin_views/test_actions.py
4050tests/admin_views/test_adminsite.py4242tests/admin_views/test_adminsite.py
4051tests/admin_views/test_autocomplete_view.py4243tests/admin_views/test_autocomplete_view.py
4052tests/admin_views/test_forms.py4244tests/admin_views/test_forms.py
4245tests/admin_views/test_history_view.py
4053tests/admin_views/test_multidb.py4246tests/admin_views/test_multidb.py
4054tests/admin_views/test_static_deprecation.py4247tests/admin_views/test_nav_sidebar.py
4055tests/admin_views/test_templatetags.py4248tests/admin_views/test_templatetags.py
4056tests/admin_views/tests.py4249tests/admin_views/tests.py
4057tests/admin_views/urls.py4250tests/admin_views/urls.py
@@ -4095,10 +4288,32 @@ tests/apps/__init__.py
4095tests/apps/apps.py4288tests/apps/apps.py
4096tests/apps/models.py4289tests/apps/models.py
4097tests/apps/tests.py4290tests/apps/tests.py
4098tests/apps/default_config_app/__init__.py4291tests/apps/explicit_default_config_app/__init__.py
4099tests/apps/default_config_app/apps.py4292tests/apps/explicit_default_config_app/apps.py
4293tests/apps/explicit_default_config_empty_apps/__init__.py
4294tests/apps/explicit_default_config_empty_apps/apps.py
4295tests/apps/explicit_default_config_mismatch_app/__init__.py
4296tests/apps/explicit_default_config_mismatch_app/apps.py
4297tests/apps/explicit_default_config_mismatch_app/not_apps.py
4298tests/apps/explicit_default_config_without_apps/__init__.py
4100tests/apps/namespace_package_base/nsapp/apps.py4299tests/apps/namespace_package_base/nsapp/apps.py
4101tests/apps/namespace_package_other_base/nsapp/.keep4300tests/apps/namespace_package_other_base/nsapp/.keep
4301tests/apps/no_config_app/__init__.py
4302tests/apps/one_config_app/__init__.py
4303tests/apps/one_config_app/apps.py
4304tests/apps/two_configs_app/__init__.py
4305tests/apps/two_configs_app/apps.py
4306tests/apps/two_configs_one_default_app/__init__.py
4307tests/apps/two_configs_one_default_app/apps.py
4308tests/apps/two_default_configs_app/__init__.py
4309tests/apps/two_default_configs_app/apps.py
4310tests/asgi/__init__.py
4311tests/asgi/tests.py
4312tests/asgi/urls.py
4313tests/asgi/project/static/file.txt
4314tests/async/__init__.py
4315tests/async/models.py
4316tests/async/tests.py
4102tests/auth_tests/__init__.py4317tests/auth_tests/__init__.py
4103tests/auth_tests/backend_alias.py4318tests/auth_tests/backend_alias.py
4104tests/auth_tests/client.py4319tests/auth_tests/client.py
@@ -4118,8 +4333,8 @@ tests/auth_tests/test_middleware.py
4118tests/auth_tests/test_migrations.py4333tests/auth_tests/test_migrations.py
4119tests/auth_tests/test_mixins.py4334tests/auth_tests/test_mixins.py
4120tests/auth_tests/test_models.py4335tests/auth_tests/test_models.py
4336tests/auth_tests/test_password_reset_timeout_days.py
4121tests/auth_tests/test_remote_user.py4337tests/auth_tests/test_remote_user.py
4122tests/auth_tests/test_remote_user_deprecation.py
4123tests/auth_tests/test_signals.py4338tests/auth_tests/test_signals.py
4124tests/auth_tests/test_templates.py4339tests/auth_tests/test_templates.py
4125tests/auth_tests/test_tokens.py4340tests/auth_tests/test_tokens.py
@@ -4143,6 +4358,7 @@ tests/auth_tests/models/with_custom_email_field.py
4143tests/auth_tests/models/with_foreign_key.py4358tests/auth_tests/models/with_foreign_key.py
4144tests/auth_tests/models/with_integer_username.py4359tests/auth_tests/models/with_integer_username.py
4145tests/auth_tests/models/with_last_login_attr.py4360tests/auth_tests/models/with_last_login_attr.py
4361tests/auth_tests/models/with_many_to_many.py
4146tests/auth_tests/templates/context_processors/auth_attrs_access.html4362tests/auth_tests/templates/context_processors/auth_attrs_access.html
4147tests/auth_tests/templates/context_processors/auth_attrs_messages.html4363tests/auth_tests/templates/context_processors/auth_attrs_messages.html
4148tests/auth_tests/templates/context_processors/auth_attrs_no_access.html4364tests/auth_tests/templates/context_processors/auth_attrs_no_access.html
@@ -4167,13 +4383,21 @@ tests/backends/test_utils.py
4167tests/backends/tests.py4383tests/backends/tests.py
4168tests/backends/base/__init__.py4384tests/backends/base/__init__.py
4169tests/backends/base/test_base.py4385tests/backends/base/test_base.py
4386tests/backends/base/test_client.py
4170tests/backends/base/test_creation.py4387tests/backends/base/test_creation.py
4171tests/backends/base/test_features.py4388tests/backends/base/test_features.py
4389tests/backends/base/test_introspection.py
4172tests/backends/base/test_operations.py4390tests/backends/base/test_operations.py
4173tests/backends/base/test_schema.py4391tests/backends/base/test_schema.py
4392tests/backends/base/app_unmigrated/__init__.py
4393tests/backends/base/app_unmigrated/models.py
4394tests/backends/base/app_unmigrated/migrations/0001_initial.py
4395tests/backends/base/app_unmigrated/migrations/__init__.py
4174tests/backends/mysql/__init__.py4396tests/backends/mysql/__init__.py
4175tests/backends/mysql/test_creation.py4397tests/backends/mysql/test_creation.py
4176tests/backends/mysql/test_features.py4398tests/backends/mysql/test_features.py
4399tests/backends/mysql/test_introspection.py
4400tests/backends/mysql/test_operations.py
4177tests/backends/mysql/test_schema.py4401tests/backends/mysql/test_schema.py
4178tests/backends/mysql/tests.py4402tests/backends/mysql/tests.py
4179tests/backends/oracle/__init__.py4403tests/backends/oracle/__init__.py
@@ -4184,21 +4408,29 @@ tests/backends/oracle/tests.py
4184tests/backends/postgresql/__init__.py4408tests/backends/postgresql/__init__.py
4185tests/backends/postgresql/test_creation.py4409tests/backends/postgresql/test_creation.py
4186tests/backends/postgresql/test_introspection.py4410tests/backends/postgresql/test_introspection.py
4411tests/backends/postgresql/test_operations.py
4187tests/backends/postgresql/test_server_side_cursors.py4412tests/backends/postgresql/test_server_side_cursors.py
4188tests/backends/postgresql/tests.py4413tests/backends/postgresql/tests.py
4189tests/backends/sqlite/__init__.py4414tests/backends/sqlite/__init__.py
4415tests/backends/sqlite/test_creation.py
4416tests/backends/sqlite/test_features.py
4190tests/backends/sqlite/test_introspection.py4417tests/backends/sqlite/test_introspection.py
4418tests/backends/sqlite/test_operations.py
4191tests/backends/sqlite/tests.py4419tests/backends/sqlite/tests.py
4192tests/base/__init__.py4420tests/base/__init__.py
4193tests/base/models.py4421tests/base/models.py
4194tests/bash_completion/__init__.py4422tests/bash_completion/__init__.py
4195tests/bash_completion/tests.py4423tests/bash_completion/tests.py
4424tests/bash_completion/management/__init__.py
4425tests/bash_completion/management/commands/__init__.py
4196tests/bash_completion/management/commands/test_command.py4426tests/bash_completion/management/commands/test_command.py
4197tests/basic/__init__.py4427tests/basic/__init__.py
4198tests/basic/models.py4428tests/basic/models.py
4199tests/basic/tests.py4429tests/basic/tests.py
4200tests/builtin_server/__init__.py4430tests/builtin_server/__init__.py
4201tests/builtin_server/tests.py4431tests/builtin_server/tests.py
4432tests/builtin_server/urls.py
4433tests/builtin_server/views.py
4202tests/bulk_create/__init__.py4434tests/bulk_create/__init__.py
4203tests/bulk_create/models.py4435tests/bulk_create/models.py
4204tests/bulk_create/tests.py4436tests/bulk_create/tests.py
@@ -4208,7 +4440,9 @@ tests/cache/liberal_backend.py
4208tests/cache/models.py4440tests/cache/models.py
4209tests/cache/tests.py4441tests/cache/tests.py
4210tests/check_framework/__init__.py4442tests/check_framework/__init__.py
4443tests/check_framework/apps.py
4211tests/check_framework/models.py4444tests/check_framework/models.py
4445tests/check_framework/test_async_checks.py
4212tests/check_framework/test_caches.py4446tests/check_framework/test_caches.py
4213tests/check_framework/test_database.py4447tests/check_framework/test_database.py
4214tests/check_framework/test_model_checks.py4448tests/check_framework/test_model_checks.py
@@ -4237,9 +4471,6 @@ tests/check_framework/urls/path_compatibility/__init__.py
4237tests/check_framework/urls/path_compatibility/beginning_with_caret.py4471tests/check_framework/urls/path_compatibility/beginning_with_caret.py
4238tests/check_framework/urls/path_compatibility/contains_re_named_group.py4472tests/check_framework/urls/path_compatibility/contains_re_named_group.py
4239tests/check_framework/urls/path_compatibility/ending_with_dollar.py4473tests/check_framework/urls/path_compatibility/ending_with_dollar.py
4240tests/choices/__init__.py
4241tests/choices/models.py
4242tests/choices/tests.py
4243tests/conditional_processing/__init__.py4474tests/conditional_processing/__init__.py
4244tests/conditional_processing/tests.py4475tests/conditional_processing/tests.py
4245tests/conditional_processing/urls.py4476tests/conditional_processing/urls.py
@@ -4306,7 +4537,9 @@ tests/db_functions/tests.py
4306tests/db_functions/comparison/__init__.py4537tests/db_functions/comparison/__init__.py
4307tests/db_functions/comparison/test_cast.py4538tests/db_functions/comparison/test_cast.py
4308tests/db_functions/comparison/test_coalesce.py4539tests/db_functions/comparison/test_coalesce.py
4540tests/db_functions/comparison/test_collate.py
4309tests/db_functions/comparison/test_greatest.py4541tests/db_functions/comparison/test_greatest.py
4542tests/db_functions/comparison/test_json_object.py
4310tests/db_functions/comparison/test_least.py4543tests/db_functions/comparison/test_least.py
4311tests/db_functions/comparison/test_nullif.py4544tests/db_functions/comparison/test_nullif.py
4312tests/db_functions/datetime/__init__.py4545tests/db_functions/datetime/__init__.py
@@ -4330,22 +4563,33 @@ tests/db_functions/math/test_mod.py
4330tests/db_functions/math/test_pi.py4563tests/db_functions/math/test_pi.py
4331tests/db_functions/math/test_power.py4564tests/db_functions/math/test_power.py
4332tests/db_functions/math/test_radians.py4565tests/db_functions/math/test_radians.py
4566tests/db_functions/math/test_random.py
4333tests/db_functions/math/test_round.py4567tests/db_functions/math/test_round.py
4568tests/db_functions/math/test_sign.py
4334tests/db_functions/math/test_sin.py4569tests/db_functions/math/test_sin.py
4335tests/db_functions/math/test_sqrt.py4570tests/db_functions/math/test_sqrt.py
4336tests/db_functions/math/test_tan.py4571tests/db_functions/math/test_tan.py
4572tests/db_functions/migrations/0001_setup_extensions.py
4573tests/db_functions/migrations/0002_create_test_models.py
4574tests/db_functions/migrations/__init__.py
4337tests/db_functions/text/__init__.py4575tests/db_functions/text/__init__.py
4338tests/db_functions/text/test_chr.py4576tests/db_functions/text/test_chr.py
4339tests/db_functions/text/test_concat.py4577tests/db_functions/text/test_concat.py
4340tests/db_functions/text/test_left.py4578tests/db_functions/text/test_left.py
4341tests/db_functions/text/test_length.py4579tests/db_functions/text/test_length.py
4342tests/db_functions/text/test_lower.py4580tests/db_functions/text/test_lower.py
4581tests/db_functions/text/test_md5.py
4343tests/db_functions/text/test_ord.py4582tests/db_functions/text/test_ord.py
4344tests/db_functions/text/test_pad.py4583tests/db_functions/text/test_pad.py
4345tests/db_functions/text/test_repeat.py4584tests/db_functions/text/test_repeat.py
4346tests/db_functions/text/test_replace.py4585tests/db_functions/text/test_replace.py
4347tests/db_functions/text/test_reverse.py4586tests/db_functions/text/test_reverse.py
4348tests/db_functions/text/test_right.py4587tests/db_functions/text/test_right.py
4588tests/db_functions/text/test_sha1.py
4589tests/db_functions/text/test_sha224.py
4590tests/db_functions/text/test_sha256.py
4591tests/db_functions/text/test_sha384.py
4592tests/db_functions/text/test_sha512.py
4349tests/db_functions/text/test_strindex.py4593tests/db_functions/text/test_strindex.py
4350tests/db_functions/text/test_substr.py4594tests/db_functions/text/test_substr.py
4351tests/db_functions/text/test_trim.py4595tests/db_functions/text/test_trim.py
@@ -4357,9 +4601,12 @@ tests/db_typecasts/tests.py
4357tests/db_utils/__init__.py4601tests/db_utils/__init__.py
4358tests/db_utils/tests.py4602tests/db_utils/tests.py
4359tests/dbshell/__init__.py4603tests/dbshell/__init__.py
4604tests/dbshell/fake_client.py
4360tests/dbshell/test_mysql.py4605tests/dbshell/test_mysql.py
4361tests/dbshell/test_oracle.py4606tests/dbshell/test_oracle.py
4362tests/dbshell/test_postgresql.py4607tests/dbshell/test_postgresql.py
4608tests/dbshell/test_sqlite.py
4609tests/dbshell/tests.py
4363tests/decorators/__init__.py4610tests/decorators/__init__.py
4364tests/decorators/tests.py4611tests/decorators/tests.py
4365tests/defer/__init__.py4612tests/defer/__init__.py
@@ -4375,6 +4622,8 @@ tests/delete_regress/__init__.py
4375tests/delete_regress/models.py4622tests/delete_regress/models.py
4376tests/delete_regress/tests.py4623tests/delete_regress/tests.py
4377tests/deprecation/__init__.py4624tests/deprecation/__init__.py
4625tests/deprecation/test_default_hashing_algorithm.py
4626tests/deprecation/test_middleware_mixin.py
4378tests/deprecation/tests.py4627tests/deprecation/tests.py
4379tests/dispatch/__init__.py4628tests/dispatch/__init__.py
4380tests/dispatch/tests.py4629tests/dispatch/tests.py
@@ -4385,8 +4634,12 @@ tests/empty/__init__.py
4385tests/empty/models.py4634tests/empty/models.py
4386tests/empty/tests.py4635tests/empty/tests.py
4387tests/empty/no_models/__init__.py4636tests/empty/no_models/__init__.py
4637tests/empty_models/__init__.py
4638tests/empty_models/models.py
4639tests/empty_models/test_commands.py
4388tests/expressions/__init__.py4640tests/expressions/__init__.py
4389tests/expressions/models.py4641tests/expressions/models.py
4642tests/expressions/test_deprecation.py
4390tests/expressions/test_queryset_values.py4643tests/expressions/test_queryset_values.py
4391tests/expressions/tests.py4644tests/expressions/tests.py
4392tests/expressions_case/__init__.py4645tests/expressions_case/__init__.py
@@ -4430,6 +4683,8 @@ tests/filtered_relation/tests.py
4430tests/fixtures/__init__.py4683tests/fixtures/__init__.py
4431tests/fixtures/models.py4684tests/fixtures/models.py
4432tests/fixtures/tests.py4685tests/fixtures/tests.py
4686tests/fixtures/fixtures/circular_reference.json
4687tests/fixtures/fixtures/circular_reference_natural_key.json
4433tests/fixtures/fixtures/db_fixture_1.default.json4688tests/fixtures/fixtures/db_fixture_1.default.json
4434tests/fixtures/fixtures/db_fixture_2.default.json.gz4689tests/fixtures/fixtures/db_fixture_2.default.json.gz
4435tests/fixtures/fixtures/db_fixture_3.nosuchdb.json4690tests/fixtures/fixtures/db_fixture_3.nosuchdb.json
@@ -4438,7 +4693,10 @@ tests/fixtures/fixtures/fixture2.json
4438tests/fixtures/fixtures/fixture2.xml4693tests/fixtures/fixtures/fixture2.xml
4439tests/fixtures/fixtures/fixture3.xml4694tests/fixtures/fixtures/fixture3.xml
4440tests/fixtures/fixtures/fixture4.json.zip4695tests/fixtures/fixtures/fixture4.json.zip
4696tests/fixtures/fixtures/fixture5.json.bz2
4441tests/fixtures/fixtures/fixture5.json.gz4697tests/fixtures/fixtures/fixture5.json.gz
4698tests/fixtures/fixtures/fixture5.json.lzma
4699tests/fixtures/fixtures/fixture5.json.xz
4442tests/fixtures/fixtures/fixture5.json.zip4700tests/fixtures/fixtures/fixture5.json.zip
4443tests/fixtures/fixtures/fixture6.json4701tests/fixtures/fixtures/fixture6.json
4444tests/fixtures/fixtures/fixture7.xml4702tests/fixtures/fixtures/fixture7.xml
@@ -4446,14 +4704,15 @@ tests/fixtures/fixtures/fixture8.json
4446tests/fixtures/fixtures/fixture9.xml4704tests/fixtures/fixtures/fixture9.xml
4447tests/fixtures/fixtures/fixture_with[special]chars.json4705tests/fixtures/fixtures/fixture_with[special]chars.json
4448tests/fixtures/fixtures/forward_reference_fk.json4706tests/fixtures/fixtures/forward_reference_fk.json
4707tests/fixtures/fixtures/forward_reference_fk_natural_key.json
4449tests/fixtures/fixtures/forward_reference_m2m.json4708tests/fixtures/fixtures/forward_reference_m2m.json
4709tests/fixtures/fixtures/forward_reference_m2m_natural_key.json
4450tests/fixtures/fixtures/invalid.json4710tests/fixtures/fixtures/invalid.json
4451tests/fixtures/fixtures/null_character_in_field_value.json4711tests/fixtures/fixtures/null_character_in_field_value.json
4452tests/fixtures_model_package/__init__.py4712tests/fixtures_model_package/__init__.py
4453tests/fixtures_model_package/tests.py4713tests/fixtures_model_package/tests.py
4454tests/fixtures_model_package/fixtures/fixture1.json4714tests/fixtures_model_package/fixtures/model_package_fixture1.json
4455tests/fixtures_model_package/fixtures/fixture2.json4715tests/fixtures_model_package/fixtures/model_package_fixture2.json
4456tests/fixtures_model_package/fixtures/fixture2.xml
4457tests/fixtures_model_package/models/__init__.py4716tests/fixtures_model_package/models/__init__.py
4458tests/fixtures_regress/__init__.py4717tests/fixtures_regress/__init__.py
4459tests/fixtures_regress/models.py4718tests/fixtures_regress/models.py
@@ -4485,6 +4744,8 @@ tests/fixtures_regress/fixtures_1/forward_ref_1.json
4485tests/fixtures_regress/fixtures_1/inner/absolute.json4744tests/fixtures_regress/fixtures_1/inner/absolute.json
4486tests/fixtures_regress/fixtures_2/forward_ref_2.json4745tests/fixtures_regress/fixtures_2/forward_ref_2.json
4487tests/flatpages_tests/__init__.py4746tests/flatpages_tests/__init__.py
4747tests/flatpages_tests/absolute_urls.py
4748tests/flatpages_tests/no_slash_urls.py
4488tests/flatpages_tests/settings.py4749tests/flatpages_tests/settings.py
4489tests/flatpages_tests/test_csrf.py4750tests/flatpages_tests/test_csrf.py
4490tests/flatpages_tests/test_forms.py4751tests/flatpages_tests/test_forms.py
@@ -4530,6 +4791,7 @@ tests/forms_tests/field_tests/test_floatfield.py
4530tests/forms_tests/field_tests/test_genericipaddressfield.py4791tests/forms_tests/field_tests/test_genericipaddressfield.py
4531tests/forms_tests/field_tests/test_imagefield.py4792tests/forms_tests/field_tests/test_imagefield.py
4532tests/forms_tests/field_tests/test_integerfield.py4793tests/forms_tests/field_tests/test_integerfield.py
4794tests/forms_tests/field_tests/test_jsonfield.py
4533tests/forms_tests/field_tests/test_multiplechoicefield.py4795tests/forms_tests/field_tests/test_multiplechoicefield.py
4534tests/forms_tests/field_tests/test_multivaluefield.py4796tests/forms_tests/field_tests/test_multivaluefield.py
4535tests/forms_tests/field_tests/test_nullbooleanfield.py4797tests/forms_tests/field_tests/test_nullbooleanfield.py
@@ -4601,7 +4863,6 @@ tests/forms_tests/widget_tests/test_timeinput.py
4601tests/forms_tests/widget_tests/test_widget.py4863tests/forms_tests/widget_tests/test_widget.py
4602tests/from_db_value/__init__.py4864tests/from_db_value/__init__.py
4603tests/from_db_value/models.py4865tests/from_db_value/models.py
4604tests/from_db_value/test_deprecated.py
4605tests/from_db_value/tests.py4866tests/from_db_value/tests.py
4606tests/generic_inline_admin/__init__.py4867tests/generic_inline_admin/__init__.py
4607tests/generic_inline_admin/admin.py4868tests/generic_inline_admin/admin.py
@@ -4691,6 +4952,7 @@ tests/gis_tests/data/gas_lines/gas_leitung.dbf
4691tests/gis_tests/data/gas_lines/gas_leitung.prj4952tests/gis_tests/data/gas_lines/gas_leitung.prj
4692tests/gis_tests/data/gas_lines/gas_leitung.shp4953tests/gis_tests/data/gas_lines/gas_leitung.shp
4693tests/gis_tests/data/gas_lines/gas_leitung.shx4954tests/gis_tests/data/gas_lines/gas_leitung.shx
4955tests/gis_tests/data/has_nulls/has_nulls.geojson
4694tests/gis_tests/data/interstates/interstates.dbf4956tests/gis_tests/data/interstates/interstates.dbf
4695tests/gis_tests/data/interstates/interstates.prj4957tests/gis_tests/data/interstates/interstates.prj
4696tests/gis_tests/data/interstates/interstates.shp4958tests/gis_tests/data/interstates/interstates.shp
@@ -4723,6 +4985,7 @@ tests/gis_tests/gdal_tests/test_envelope.py
4723tests/gis_tests/gdal_tests/test_geom.py4985tests/gis_tests/gdal_tests/test_geom.py
4724tests/gis_tests/gdal_tests/test_raster.py4986tests/gis_tests/gdal_tests/test_raster.py
4725tests/gis_tests/gdal_tests/test_srs.py4987tests/gis_tests/gdal_tests/test_srs.py
4988tests/gis_tests/gdal_tests/tests.py
4726tests/gis_tests/geo3d/__init__.py4989tests/gis_tests/geo3d/__init__.py
4727tests/gis_tests/geo3d/models.py4990tests/gis_tests/geo3d/models.py
4728tests/gis_tests/geo3d/tests.py4991tests/gis_tests/geo3d/tests.py
@@ -4739,6 +5002,7 @@ tests/gis_tests/geoapp/sitemaps.py
4739tests/gis_tests/geoapp/test_expressions.py5002tests/gis_tests/geoapp/test_expressions.py
4740tests/gis_tests/geoapp/test_feeds.py5003tests/gis_tests/geoapp/test_feeds.py
4741tests/gis_tests/geoapp/test_functions.py5004tests/gis_tests/geoapp/test_functions.py
5005tests/gis_tests/geoapp/test_indexes.py
4742tests/gis_tests/geoapp/test_regress.py5006tests/gis_tests/geoapp/test_regress.py
4743tests/gis_tests/geoapp/test_serializers.py5007tests/gis_tests/geoapp/test_serializers.py
4744tests/gis_tests/geoapp/test_sitemaps.py5008tests/gis_tests/geoapp/test_sitemaps.py
@@ -4758,7 +5022,8 @@ tests/gis_tests/geos_tests/test_mutable_list.py
4758tests/gis_tests/gis_migrations/__init__.py5022tests/gis_tests/gis_migrations/__init__.py
4759tests/gis_tests/gis_migrations/test_commands.py5023tests/gis_tests/gis_migrations/test_commands.py
4760tests/gis_tests/gis_migrations/test_operations.py5024tests/gis_tests/gis_migrations/test_operations.py
4761tests/gis_tests/gis_migrations/migrations/0001_initial.py5025tests/gis_tests/gis_migrations/migrations/0001_setup_extensions.py
5026tests/gis_tests/gis_migrations/migrations/0002_create_models.py
4762tests/gis_tests/gis_migrations/migrations/__init__.py5027tests/gis_tests/gis_migrations/migrations/__init__.py
4763tests/gis_tests/inspectapp/__init__.py5028tests/gis_tests/inspectapp/__init__.py
4764tests/gis_tests/inspectapp/models.py5029tests/gis_tests/inspectapp/models.py
@@ -4766,10 +5031,12 @@ tests/gis_tests/inspectapp/tests.py
4766tests/gis_tests/layermap/__init__.py5031tests/gis_tests/layermap/__init__.py
4767tests/gis_tests/layermap/models.py5032tests/gis_tests/layermap/models.py
4768tests/gis_tests/layermap/tests.py5033tests/gis_tests/layermap/tests.py
4769tests/gis_tests/maps/__init__.py
4770tests/gis_tests/rasterapp/__init__.py5034tests/gis_tests/rasterapp/__init__.py
4771tests/gis_tests/rasterapp/models.py5035tests/gis_tests/rasterapp/models.py
4772tests/gis_tests/rasterapp/test_rasterfield.py5036tests/gis_tests/rasterapp/test_rasterfield.py
5037tests/gis_tests/rasterapp/migrations/0001_setup_extensions.py
5038tests/gis_tests/rasterapp/migrations/0002_rastermodels.py
5039tests/gis_tests/rasterapp/migrations/__init__.py
4773tests/gis_tests/relatedapp/__init__.py5040tests/gis_tests/relatedapp/__init__.py
4774tests/gis_tests/relatedapp/models.py5041tests/gis_tests/relatedapp/models.py
4775tests/gis_tests/relatedapp/tests.py5042tests/gis_tests/relatedapp/tests.py
@@ -4999,6 +5266,7 @@ tests/messages_tests/test_fallback.py
4999tests/messages_tests/test_middleware.py5266tests/messages_tests/test_middleware.py
5000tests/messages_tests/test_mixins.py5267tests/messages_tests/test_mixins.py
5001tests/messages_tests/test_session.py5268tests/messages_tests/test_session.py
5269tests/messages_tests/tests.py
5002tests/messages_tests/urls.py5270tests/messages_tests/urls.py
5003tests/middleware/__init__.py5271tests/middleware/__init__.py
5004tests/middleware/cond_get_urls.py5272tests/middleware/cond_get_urls.py
@@ -5117,6 +5385,10 @@ tests/migrations/test_add_many_to_many_field_initial/0002_initial.py
5117tests/migrations/test_add_many_to_many_field_initial/__init__.py5385tests/migrations/test_add_many_to_many_field_initial/__init__.py
5118tests/migrations/test_auto_now_add/0001_initial.py5386tests/migrations/test_auto_now_add/0001_initial.py
5119tests/migrations/test_auto_now_add/__init__.py5387tests/migrations/test_auto_now_add/__init__.py
5388tests/migrations/test_fake_initial_case_insensitive/fake_initial/0001_initial.py
5389tests/migrations/test_fake_initial_case_insensitive/fake_initial/__init__.py
5390tests/migrations/test_fake_initial_case_insensitive/initial/0001_initial.py
5391tests/migrations/test_fake_initial_case_insensitive/initial/__init__.py
5120tests/migrations/test_migrations/0001_initial.py5392tests/migrations/test_migrations/0001_initial.py
5121tests/migrations/test_migrations/0002_second.py5393tests/migrations/test_migrations/0002_second.py
5122tests/migrations/test_migrations/__init__.py5394tests/migrations/test_migrations/__init__.py
@@ -5133,6 +5405,10 @@ tests/migrations/test_migrations_conflict/0001_initial.py
5133tests/migrations/test_migrations_conflict/0002_conflicting_second.py5405tests/migrations/test_migrations_conflict/0002_conflicting_second.py
5134tests/migrations/test_migrations_conflict/0002_second.py5406tests/migrations/test_migrations_conflict/0002_second.py
5135tests/migrations/test_migrations_conflict/__init__.py5407tests/migrations/test_migrations_conflict/__init__.py
5408tests/migrations/test_migrations_conflict_long_name/0001_initial.py
5409tests/migrations/test_migrations_conflict_long_name/0002_conflicting_second_migration_with_long_name.py
5410tests/migrations/test_migrations_conflict_long_name/0002_second.py
5411tests/migrations/test_migrations_conflict_long_name/__init__.py
5136tests/migrations/test_migrations_custom_user/0001_initial.py5412tests/migrations/test_migrations_custom_user/0001_initial.py
5137tests/migrations/test_migrations_custom_user/__init__.py5413tests/migrations/test_migrations_custom_user/__init__.py
5138tests/migrations/test_migrations_empty/__init__.py5414tests/migrations/test_migrations_empty/__init__.py
@@ -5144,6 +5420,7 @@ tests/migrations/test_migrations_first/second.py
5144tests/migrations/test_migrations_first/thefirst.py5420tests/migrations/test_migrations_first/thefirst.py
5145tests/migrations/test_migrations_initial_false/0001_not_initial.py5421tests/migrations/test_migrations_initial_false/0001_not_initial.py
5146tests/migrations/test_migrations_initial_false/__init__.py5422tests/migrations/test_migrations_initial_false/__init__.py
5423tests/migrations/test_migrations_namespace_package/0001_initial.py
5147tests/migrations/test_migrations_no_ancestor/0001_initial.py5424tests/migrations/test_migrations_no_ancestor/0001_initial.py
5148tests/migrations/test_migrations_no_ancestor/0002_conflicting_second.py5425tests/migrations/test_migrations_no_ancestor/0002_conflicting_second.py
5149tests/migrations/test_migrations_no_ancestor/0002_second.py5426tests/migrations/test_migrations_no_ancestor/0002_second.py
@@ -5155,6 +5432,8 @@ tests/migrations/test_migrations_no_changes/__init__.py
5155tests/migrations/test_migrations_no_default/0001_initial.py5432tests/migrations/test_migrations_no_default/0001_initial.py
5156tests/migrations/test_migrations_no_default/__init__.py5433tests/migrations/test_migrations_no_default/__init__.py
5157tests/migrations/test_migrations_no_init/.gitkeep5434tests/migrations/test_migrations_no_init/.gitkeep
5435tests/migrations/test_migrations_no_operations/0001_initial.py
5436tests/migrations/test_migrations_no_operations/__init__.py
5158tests/migrations/test_migrations_non_atomic/0001_initial.py5437tests/migrations/test_migrations_non_atomic/0001_initial.py
5159tests/migrations/test_migrations_non_atomic/__init__.py5438tests/migrations/test_migrations_non_atomic/__init__.py
5160tests/migrations/test_migrations_order/0001.py5439tests/migrations/test_migrations_order/0001.py
@@ -5231,10 +5510,13 @@ tests/migrations2/test_migrations_2_first/0002_second.py
5231tests/migrations2/test_migrations_2_first/__init__.py5510tests/migrations2/test_migrations_2_first/__init__.py
5232tests/migrations2/test_migrations_2_no_deps/0001_initial.py5511tests/migrations2/test_migrations_2_no_deps/0001_initial.py
5233tests/migrations2/test_migrations_2_no_deps/__init__.py5512tests/migrations2/test_migrations_2_no_deps/__init__.py
5513tests/model_enums/__init__.py
5514tests/model_enums/tests.py
5234tests/model_fields/4x8.png5515tests/model_fields/4x8.png
5235tests/model_fields/8x4.png5516tests/model_fields/8x4.png
5236tests/model_fields/__init__.py5517tests/model_fields/__init__.py
5237tests/model_fields/models.py5518tests/model_fields/models.py
5519tests/model_fields/test_autofield.py
5238tests/model_fields/test_binaryfield.py5520tests/model_fields/test_binaryfield.py
5239tests/model_fields/test_booleanfield.py5521tests/model_fields/test_booleanfield.py
5240tests/model_fields/test_charfield.py5522tests/model_fields/test_charfield.py
@@ -5243,11 +5525,13 @@ tests/model_fields/test_decimalfield.py
5243tests/model_fields/test_durationfield.py5525tests/model_fields/test_durationfield.py
5244tests/model_fields/test_field_flags.py5526tests/model_fields/test_field_flags.py
5245tests/model_fields/test_filefield.py5527tests/model_fields/test_filefield.py
5528tests/model_fields/test_filepathfield.py
5246tests/model_fields/test_floatfield.py5529tests/model_fields/test_floatfield.py
5247tests/model_fields/test_foreignkey.py5530tests/model_fields/test_foreignkey.py
5248tests/model_fields/test_genericipaddressfield.py5531tests/model_fields/test_genericipaddressfield.py
5249tests/model_fields/test_imagefield.py5532tests/model_fields/test_imagefield.py
5250tests/model_fields/test_integerfield.py5533tests/model_fields/test_integerfield.py
5534tests/model_fields/test_jsonfield.py
5251tests/model_fields/test_manytomanyfield.py5535tests/model_fields/test_manytomanyfield.py
5252tests/model_fields/test_promises.py5536tests/model_fields/test_promises.py
5253tests/model_fields/test_slugfield.py5537tests/model_fields/test_slugfield.py
@@ -5281,9 +5565,10 @@ tests/model_inheritance_regress/tests.py
5281tests/model_meta/__init__.py5565tests/model_meta/__init__.py
5282tests/model_meta/models.py5566tests/model_meta/models.py
5283tests/model_meta/results.py5567tests/model_meta/results.py
5284tests/model_meta/test_manager_inheritance_from_future.py
5285tests/model_meta/tests.py5568tests/model_meta/tests.py
5286tests/model_options/__init__.py5569tests/model_options/__init__.py
5570tests/model_options/apps.py
5571tests/model_options/test_default_pk.py
5287tests/model_options/test_default_related_name.py5572tests/model_options/test_default_related_name.py
5288tests/model_options/test_tablespaces.py5573tests/model_options/test_tablespaces.py
5289tests/model_options/models/__init__.py5574tests/model_options/models/__init__.py
@@ -5299,11 +5584,12 @@ tests/model_regress/models.py
5299tests/model_regress/test_pickle.py5584tests/model_regress/test_pickle.py
5300tests/model_regress/test_state.py5585tests/model_regress/test_state.py
5301tests/model_regress/tests.py5586tests/model_regress/tests.py
5587tests/model_utils/__init__.py
5588tests/model_utils/tests.py
5302tests/modeladmin/__init__.py5589tests/modeladmin/__init__.py
5303tests/modeladmin/models.py5590tests/modeladmin/models.py
5304tests/modeladmin/test_actions.py5591tests/modeladmin/test_actions.py
5305tests/modeladmin/test_checks.py5592tests/modeladmin/test_checks.py
5306tests/modeladmin/test_has_add_permission_obj_deprecation.py
5307tests/modeladmin/tests.py5593tests/modeladmin/tests.py
5308tests/multiple_database/__init__.py5594tests/multiple_database/__init__.py
5309tests/multiple_database/models.py5595tests/multiple_database/models.py
@@ -5362,7 +5648,8 @@ tests/postgres_tests/test_hstore.py
5362tests/postgres_tests/test_indexes.py5648tests/postgres_tests/test_indexes.py
5363tests/postgres_tests/test_integration.py5649tests/postgres_tests/test_integration.py
5364tests/postgres_tests/test_introspection.py5650tests/postgres_tests/test_introspection.py
5365tests/postgres_tests/test_json.py5651tests/postgres_tests/test_json_deprecation.py
5652tests/postgres_tests/test_operations.py
5366tests/postgres_tests/test_ranges.py5653tests/postgres_tests/test_ranges.py
5367tests/postgres_tests/test_search.py5654tests/postgres_tests/test_search.py
5368tests/postgres_tests/test_signals.py5655tests/postgres_tests/test_signals.py
@@ -5404,6 +5691,8 @@ tests/proxy_models/fixtures/mypeople.json
5404tests/queries/__init__.py5691tests/queries/__init__.py
5405tests/queries/models.py5692tests/queries/models.py
5406tests/queries/test_bulk_update.py5693tests/queries/test_bulk_update.py
5694tests/queries/test_db_returning.py
5695tests/queries/test_deprecation.py
5407tests/queries/test_explain.py5696tests/queries/test_explain.py
5408tests/queries/test_iterator.py5697tests/queries/test_iterator.py
5409tests/queries/test_q.py5698tests/queries/test_q.py
@@ -5420,7 +5709,9 @@ tests/redirects_tests/__init__.py
5420tests/redirects_tests/tests.py5709tests/redirects_tests/tests.py
5421tests/redirects_tests/urls.py5710tests/redirects_tests/urls.py
5422tests/requests/__init__.py5711tests/requests/__init__.py
5712tests/requests/test_accept_header.py
5423tests/requests/test_data_upload_settings.py5713tests/requests/test_data_upload_settings.py
5714tests/requests/test_is_ajax_deprecations.py
5424tests/requests/tests.py5715tests/requests/tests.py
5425tests/requirements/mysql.txt5716tests/requirements/mysql.txt
5426tests/requirements/oracle.txt5717tests/requirements/oracle.txt
@@ -5464,6 +5755,7 @@ tests/serializers/__init__.py
5464tests/serializers/test_data.py5755tests/serializers/test_data.py
5465tests/serializers/test_deserializedobject.py5756tests/serializers/test_deserializedobject.py
5466tests/serializers/test_json.py5757tests/serializers/test_json.py
5758tests/serializers/test_jsonl.py
5467tests/serializers/test_natural.py5759tests/serializers/test_natural.py
5468tests/serializers/test_xml.py5760tests/serializers/test_xml.py
5469tests/serializers/test_yaml.py5761tests/serializers/test_yaml.py
@@ -5487,14 +5779,13 @@ tests/servers/media/example_media_file.txt
5487tests/servers/static/example_static_file.txt5779tests/servers/static/example_static_file.txt
5488tests/sessions_tests/__init__.py5780tests/sessions_tests/__init__.py
5489tests/sessions_tests/models.py5781tests/sessions_tests/models.py
5782tests/sessions_tests/no_clear_expired.py
5490tests/sessions_tests/tests.py5783tests/sessions_tests/tests.py
5491tests/settings_tests/__init__.py5784tests/settings_tests/__init__.py
5492tests/settings_tests/test_file_charset.py
5493tests/settings_tests/tests.py5785tests/settings_tests/tests.py
5494tests/shell/__init__.py5786tests/shell/__init__.py
5495tests/shell/tests.py5787tests/shell/tests.py
5496tests/shortcuts/__init__.py5788tests/shortcuts/__init__.py
5497tests/shortcuts/test_render_to_response.py
5498tests/shortcuts/tests.py5789tests/shortcuts/tests.py
5499tests/shortcuts/urls.py5790tests/shortcuts/urls.py
5500tests/shortcuts/views.py5791tests/shortcuts/views.py
@@ -5503,6 +5794,7 @@ tests/shortcuts/templates/shortcuts/render_test.html
5503tests/shortcuts/templates/shortcuts/using.html5794tests/shortcuts/templates/shortcuts/using.html
5504tests/signals/__init__.py5795tests/signals/__init__.py
5505tests/signals/models.py5796tests/signals/models.py
5797tests/signals/test_deprecation.py
5506tests/signals/tests.py5798tests/signals/tests.py
5507tests/signed_cookies_tests/__init__.py5799tests/signed_cookies_tests/__init__.py
5508tests/signed_cookies_tests/tests.py5800tests/signed_cookies_tests/tests.py
@@ -5537,10 +5829,10 @@ tests/staticfiles_tests/storage.py
5537tests/staticfiles_tests/test_checks.py5829tests/staticfiles_tests/test_checks.py
5538tests/staticfiles_tests/test_finders.py5830tests/staticfiles_tests/test_finders.py
5539tests/staticfiles_tests/test_forms.py5831tests/staticfiles_tests/test_forms.py
5832tests/staticfiles_tests/test_handlers.py
5540tests/staticfiles_tests/test_liveserver.py5833tests/staticfiles_tests/test_liveserver.py
5541tests/staticfiles_tests/test_management.py5834tests/staticfiles_tests/test_management.py
5542tests/staticfiles_tests/test_storage.py5835tests/staticfiles_tests/test_storage.py
5543tests/staticfiles_tests/test_templatetag_deprecation.py
5544tests/staticfiles_tests/test_templatetags.py5836tests/staticfiles_tests/test_templatetags.py
5545tests/staticfiles_tests/test_utils.py5837tests/staticfiles_tests/test_utils.py
5546tests/staticfiles_tests/test_views.py5838tests/staticfiles_tests/test_views.py
@@ -5586,6 +5878,7 @@ tests/staticfiles_tests/project/documents/test/file.txt
5586tests/staticfiles_tests/project/faulty/faulty.css5878tests/staticfiles_tests/project/faulty/faulty.css
5587tests/staticfiles_tests/project/loop/bar.css5879tests/staticfiles_tests/project/loop/bar.css
5588tests/staticfiles_tests/project/loop/foo.css5880tests/staticfiles_tests/project/loop/foo.css
5881tests/staticfiles_tests/project/pathlib/pathlib.txt
5589tests/staticfiles_tests/project/prefixed/test.txt5882tests/staticfiles_tests/project/prefixed/test.txt
5590tests/staticfiles_tests/project/site_media/media/media-file.txt5883tests/staticfiles_tests/project/site_media/media/media-file.txt
5591tests/staticfiles_tests/project/site_media/static/testfile.txt5884tests/staticfiles_tests/project/site_media/static/testfile.txt
@@ -5632,6 +5925,7 @@ tests/template_backends/jinja2/template_backends/django_escaping.html
5632tests/template_backends/jinja2/template_backends/hello.html5925tests/template_backends/jinja2/template_backends/hello.html
5633tests/template_backends/jinja2/template_backends/syntax_error.html5926tests/template_backends/jinja2/template_backends/syntax_error.html
5634tests/template_backends/jinja2/template_backends/syntax_error2.html5927tests/template_backends/jinja2/template_backends/syntax_error2.html
5928tests/template_backends/jinja2/template_backends/syntax_error_include.html
5635tests/template_backends/template_strings/template_backends/csrf.html5929tests/template_backends/template_strings/template_backends/csrf.html
5636tests/template_backends/template_strings/template_backends/hello.html5930tests/template_backends/template_strings/template_backends/hello.html
5637tests/template_backends/templates/template_backends/csrf.html5931tests/template_backends/templates/template_backends/csrf.html
@@ -5648,6 +5942,7 @@ tests/template_tests/__init__.py
5648tests/template_tests/alternate_urls.py5942tests/template_tests/alternate_urls.py
5649tests/template_tests/annotated_tag_function.py5943tests/template_tests/annotated_tag_function.py
5650tests/template_tests/broken_tag.py5944tests/template_tests/broken_tag.py
5945tests/template_tests/test_autoreloader.py
5651tests/template_tests/test_base.py5946tests/template_tests/test_base.py
5652tests/template_tests/test_callables.py5947tests/template_tests/test_callables.py
5653tests/template_tests/test_context.py5948tests/template_tests/test_context.py
@@ -5754,6 +6049,7 @@ tests/template_tests/relative_templates/dir1/three.html
5754tests/template_tests/relative_templates/dir1/two.html6049tests/template_tests/relative_templates/dir1/two.html
5755tests/template_tests/relative_templates/dir1/dir2/inc1.html6050tests/template_tests/relative_templates/dir1/dir2/inc1.html
5756tests/template_tests/relative_templates/dir1/dir2/inc2.html6051tests/template_tests/relative_templates/dir1/dir2/inc2.html
6052tests/template_tests/relative_templates/dir1/dir2/inc3.html
5757tests/template_tests/relative_templates/dir1/dir2/include_content.html6053tests/template_tests/relative_templates/dir1/dir2/include_content.html
5758tests/template_tests/relative_templates/dir1/dir2/one.html6054tests/template_tests/relative_templates/dir1/dir2/one.html
5759tests/template_tests/syntax_tests/__init__.py6055tests/template_tests/syntax_tests/__init__.py
@@ -5794,7 +6090,7 @@ tests/template_tests/syntax_tests/test_width_ratio.py
5794tests/template_tests/syntax_tests/test_with.py6090tests/template_tests/syntax_tests/test_with.py
5795tests/template_tests/syntax_tests/i18n/__init__.py6091tests/template_tests/syntax_tests/i18n/__init__.py
5796tests/template_tests/syntax_tests/i18n/base.py6092tests/template_tests/syntax_tests/i18n/base.py
5797tests/template_tests/syntax_tests/i18n/test_blocktrans.py6093tests/template_tests/syntax_tests/i18n/test_blocktranslate.py
5798tests/template_tests/syntax_tests/i18n/test_filters.py6094tests/template_tests/syntax_tests/i18n/test_filters.py
5799tests/template_tests/syntax_tests/i18n/test_get_available_languages.py6095tests/template_tests/syntax_tests/i18n/test_get_available_languages.py
5800tests/template_tests/syntax_tests/i18n/test_get_current_language.py6096tests/template_tests/syntax_tests/i18n/test_get_current_language.py
@@ -5802,7 +6098,7 @@ tests/template_tests/syntax_tests/i18n/test_get_current_language_bidi.py
5802tests/template_tests/syntax_tests/i18n/test_get_language_info.py6098tests/template_tests/syntax_tests/i18n/test_get_language_info.py
5803tests/template_tests/syntax_tests/i18n/test_get_language_info_list.py6099tests/template_tests/syntax_tests/i18n/test_get_language_info_list.py
5804tests/template_tests/syntax_tests/i18n/test_language.py6100tests/template_tests/syntax_tests/i18n/test_language.py
5805tests/template_tests/syntax_tests/i18n/test_trans.py6101tests/template_tests/syntax_tests/i18n/test_translate.py
5806tests/template_tests/syntax_tests/i18n/test_underscore_syntax.py6102tests/template_tests/syntax_tests/i18n/test_underscore_syntax.py
5807tests/template_tests/templates/27584_child.html6103tests/template_tests/templates/27584_child.html
5808tests/template_tests/templates/27584_parent.html6104tests/template_tests/templates/27584_parent.html
@@ -5868,6 +6164,7 @@ tests/templates/views/urlarticle_form.html
5868tests/test_client/__init__.py6164tests/test_client/__init__.py
5869tests/test_client/auth_backends.py6165tests/test_client/auth_backends.py
5870tests/test_client/test_conditional_content_removal.py6166tests/test_client/test_conditional_content_removal.py
6167tests/test_client/test_fakepayload.py
5871tests/test_client/tests.py6168tests/test_client/tests.py
5872tests/test_client/urls.py6169tests/test_client/urls.py
5873tests/test_client/views.py6170tests/test_client/views.py
@@ -5892,6 +6189,7 @@ tests/test_runner/test_discover_runner.py
5892tests/test_runner/test_parallel.py6189tests/test_runner/test_parallel.py
5893tests/test_runner/tests.py6190tests/test_runner/tests.py
5894tests/test_runner_apps/__init__.py6191tests/test_runner_apps/__init__.py
6192tests/test_runner_apps/buffer/tests_buffer.py
5895tests/test_runner_apps/databases/__init__.py6193tests/test_runner_apps/databases/__init__.py
5896tests/test_runner_apps/databases/tests.py6194tests/test_runner_apps/databases/tests.py
5897tests/test_runner_apps/sample/__init__.py6195tests/test_runner_apps/sample/__init__.py
@@ -5908,7 +6206,7 @@ tests/test_runner_apps/tagged/tests.py
5908tests/test_runner_apps/tagged/tests_inheritance.py6206tests/test_runner_apps/tagged/tests_inheritance.py
5909tests/test_utils/__init__.py6207tests/test_utils/__init__.py
5910tests/test_utils/models.py6208tests/test_utils/models.py
5911tests/test_utils/test_deprecated_features.py6209tests/test_utils/test_simpletestcase.py
5912tests/test_utils/test_testcase.py6210tests/test_utils/test_testcase.py
5913tests/test_utils/test_transactiontestcase.py6211tests/test_utils/test_transactiontestcase.py
5914tests/test_utils/tests.py6212tests/test_utils/tests.py
@@ -5947,6 +6245,7 @@ tests/urlpatterns/included_urls.py
5947tests/urlpatterns/more_urls.py6245tests/urlpatterns/more_urls.py
5948tests/urlpatterns/path_base64_urls.py6246tests/urlpatterns/path_base64_urls.py
5949tests/urlpatterns/path_dynamic_urls.py6247tests/urlpatterns/path_dynamic_urls.py
6248tests/urlpatterns/path_same_name_urls.py
5950tests/urlpatterns/path_urls.py6249tests/urlpatterns/path_urls.py
5951tests/urlpatterns/test_resolvers.py6250tests/urlpatterns/test_resolvers.py
5952tests/urlpatterns/tests.py6251tests/urlpatterns/tests.py
@@ -5994,20 +6293,31 @@ tests/user_commands/models.py
5994tests/user_commands/tests.py6293tests/user_commands/tests.py
5995tests/user_commands/urls.py6294tests/user_commands/urls.py
5996tests/user_commands/eggs/basic.egg6295tests/user_commands/eggs/basic.egg
6296tests/user_commands/management/__init__.py
6297tests/user_commands/management/commands/__init__.py
5997tests/user_commands/management/commands/common_args.py6298tests/user_commands/management/commands/common_args.py
5998tests/user_commands/management/commands/dance.py6299tests/user_commands/management/commands/dance.py
5999tests/user_commands/management/commands/hal.py6300tests/user_commands/management/commands/hal.py
6301tests/user_commands/management/commands/mutually_exclusive_required.py
6302tests/user_commands/management/commands/no_system_checks.py
6000tests/user_commands/management/commands/no_translations.py6303tests/user_commands/management/commands/no_translations.py
6304tests/user_commands/management/commands/outputwrapper.py
6305tests/user_commands/management/commands/required_constant_option.py
6306tests/user_commands/management/commands/required_list_option.py
6001tests/user_commands/management/commands/required_option.py6307tests/user_commands/management/commands/required_option.py
6002tests/user_commands/management/commands/reverse_url.py6308tests/user_commands/management/commands/reverse_url.py
6003tests/user_commands/management/commands/set_option.py6309tests/user_commands/management/commands/set_option.py
6310tests/user_commands/management/commands/specific_system_checks.py
6004tests/user_commands/management/commands/subparser.py6311tests/user_commands/management/commands/subparser.py
6312tests/user_commands/management/commands/subparser_dest.py
6313tests/user_commands/management/commands/subparser_required.py
6005tests/user_commands/management/commands/transaction.py6314tests/user_commands/management/commands/transaction.py
6006tests/utils_tests/__init__.py6315tests/utils_tests/__init__.py
6007tests/utils_tests/models.py6316tests/utils_tests/models.py
6008tests/utils_tests/test_archive.py6317tests/utils_tests/test_archive.py
6009tests/utils_tests/test_autoreload.py6318tests/utils_tests/test_autoreload.py
6010tests/utils_tests/test_baseconv.py6319tests/utils_tests/test_baseconv.py
6320tests/utils_tests/test_connection.py
6011tests/utils_tests/test_crypto.py6321tests/utils_tests/test_crypto.py
6012tests/utils_tests/test_datastructures.py6322tests/utils_tests/test_datastructures.py
6013tests/utils_tests/test_dateformat.py6323tests/utils_tests/test_dateformat.py
@@ -6016,6 +6326,7 @@ tests/utils_tests/test_datetime_safe.py
6016tests/utils_tests/test_decorators.py6326tests/utils_tests/test_decorators.py
6017tests/utils_tests/test_duration.py6327tests/utils_tests/test_duration.py
6018tests/utils_tests/test_encoding.py6328tests/utils_tests/test_encoding.py
6329tests/utils_tests/test_encoding_deprecations.py
6019tests/utils_tests/test_feedgenerator.py6330tests/utils_tests/test_feedgenerator.py
6020tests/utils_tests/test_functional.py6331tests/utils_tests/test_functional.py
6021tests/utils_tests/test_hashable.py6332tests/utils_tests/test_hashable.py
@@ -6039,18 +6350,24 @@ tests/utils_tests/test_timesince.py
6039tests/utils_tests/test_timezone.py6350tests/utils_tests/test_timezone.py
6040tests/utils_tests/test_topological_sort.py6351tests/utils_tests/test_topological_sort.py
6041tests/utils_tests/test_tree.py6352tests/utils_tests/test_tree.py
6353tests/utils_tests/utils.py
6042tests/utils_tests/archives/foobar.tar6354tests/utils_tests/archives/foobar.tar
6043tests/utils_tests/archives/foobar.tar.bz26355tests/utils_tests/archives/foobar.tar.bz2
6044tests/utils_tests/archives/foobar.tar.gz6356tests/utils_tests/archives/foobar.tar.gz
6357tests/utils_tests/archives/foobar.tar.lzma
6358tests/utils_tests/archives/foobar.tar.xz
6045tests/utils_tests/archives/foobar.zip6359tests/utils_tests/archives/foobar.zip
6046tests/utils_tests/archives/leadpath_foobar.tar6360tests/utils_tests/archives/leadpath_foobar.tar
6047tests/utils_tests/archives/leadpath_foobar.tar.bz26361tests/utils_tests/archives/leadpath_foobar.tar.bz2
6048tests/utils_tests/archives/leadpath_foobar.tar.gz6362tests/utils_tests/archives/leadpath_foobar.tar.gz
6363tests/utils_tests/archives/leadpath_foobar.tar.lzma
6364tests/utils_tests/archives/leadpath_foobar.tar.xz
6049tests/utils_tests/archives/leadpath_foobar.zip6365tests/utils_tests/archives/leadpath_foobar.zip
6050tests/utils_tests/eggs/test_egg.egg6366tests/utils_tests/eggs/test_egg.egg
6051tests/utils_tests/files/strip_tags1.html6367tests/utils_tests/files/strip_tags1.html
6052tests/utils_tests/files/strip_tags2.txt6368tests/utils_tests/files/strip_tags2.txt
6053tests/utils_tests/test_module/__init__.py6369tests/utils_tests/test_module/__init__.py
6370tests/utils_tests/test_module/__main__.py
6054tests/utils_tests/test_module/another_bad_module.py6371tests/utils_tests/test_module/another_bad_module.py
6055tests/utils_tests/test_module/another_good_module.py6372tests/utils_tests/test_module/another_good_module.py
6056tests/utils_tests/test_module/bad_module.py6373tests/utils_tests/test_module/bad_module.py
@@ -6123,6 +6440,8 @@ tests/view_tests/media/subdir/.hidden
6123tests/view_tests/media/subdir/visible6440tests/view_tests/media/subdir/visible
6124tests/view_tests/templates/jsi18n-multi-catalogs.html6441tests/view_tests/templates/jsi18n-multi-catalogs.html
6125tests/view_tests/templates/jsi18n.html6442tests/view_tests/templates/jsi18n.html
6443tests/view_tests/templates/my_technical_500.html
6444tests/view_tests/templates/my_technical_500.txt
6126tests/view_tests/templates/debug/template_error.html6445tests/view_tests/templates/debug/template_error.html
6127tests/view_tests/templates/debug/template_exception.html6446tests/view_tests/templates/debug/template_exception.html
6128tests/view_tests/templatetags/__init__.py6447tests/view_tests/templatetags/__init__.py
@@ -6130,7 +6449,6 @@ tests/view_tests/templatetags/debugtags.py
6130tests/view_tests/tests/__init__.py6449tests/view_tests/tests/__init__.py
6131tests/view_tests/tests/test_csrf.py6450tests/view_tests/tests/test_csrf.py
6132tests/view_tests/tests/test_debug.py6451tests/view_tests/tests/test_debug.py
6133tests/view_tests/tests/test_default_content_type.py
6134tests/view_tests/tests/test_defaults.py6452tests/view_tests/tests/test_defaults.py
6135tests/view_tests/tests/test_i18n.py6453tests/view_tests/tests/test_i18n.py
6136tests/view_tests/tests/test_json.py6454tests/view_tests/tests/test_json.py
diff --git a/Django.egg-info/requires.txt b/Django.egg-info/requires.txt
index a1ec2c7..23c0c79 100644
--- a/Django.egg-info/requires.txt
+++ b/Django.egg-info/requires.txt
@@ -1,8 +1,9 @@
1asgiref<4,>=3.3.2
1pytz2pytz
2sqlparse>=0.2.23sqlparse>=0.2.2
34
4[argon2]5[argon2]
5argon2-cffi>=16.1.06argon2-cffi>=19.1.0
67
7[bcrypt]8[bcrypt]
8bcrypt9bcrypt
diff --git a/Gruntfile.js b/Gruntfile.js
index 2bf8a10..2d99041 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -1,4 +1,6 @@
1var globalThreshold = 50; // Global code coverage threshold (as a percentage)1'use strict';
2
3const globalThreshold = 50; // Global code coverage threshold (as a percentage)
24
3module.exports = function(grunt) {5module.exports = function(grunt) {
4 grunt.initConfig({6 grunt.initConfig({
diff --git a/INSTALL b/INSTALL
index 25ff0ec..7c10946 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,6 @@
1Thanks for downloading Django.1Thanks for downloading Django.
22
3To install it, make sure you have Python 3.5 or greater installed. Then run3To install it, make sure you have Python 3.6 or greater installed. Then run
4this command from the command prompt:4this command from the command prompt:
55
6 python -m pip install .6 python -m pip install .
diff --git a/LICENSE.python b/LICENSE.python
index d517733..8e1c618 100644
--- a/LICENSE.python
+++ b/LICENSE.python
@@ -24,12 +24,11 @@ software.
2424
25In May 2000, Guido and the Python core development team moved to25In May 2000, Guido and the Python core development team moved to
26BeOpen.com to form the BeOpen PythonLabs team. In October of the same26BeOpen.com to form the BeOpen PythonLabs team. In October of the same
27year, the PythonLabs team moved to Digital Creations (now Zope27year, the PythonLabs team moved to Digital Creations, which became
28Corporation, see http://www.zope.com). In 2001, the Python Software28Zope Corporation. In 2001, the Python Software Foundation (PSF, see
29Foundation (PSF, see http://www.python.org/psf/) was formed, a29https://www.python.org/psf/) was formed, a non-profit organization
30non-profit organization created specifically to own Python-related30created specifically to own Python-related Intellectual Property.
31Intellectual Property. Zope Corporation is a sponsoring member of31Zope Corporation was a sponsoring member of the PSF.
32the PSF.
3332
34All Python releases are Open Source (see http://www.opensource.org for33All Python releases are Open Source (see http://www.opensource.org for
35the Open Source Definition). Historically, most, but not all, Python34the Open Source Definition). Historically, most, but not all, Python
@@ -85,8 +84,8 @@ analyze, test, perform and/or display publicly, prepare derivative works,
85distribute, and otherwise use Python alone or in any derivative version,84distribute, and otherwise use Python alone or in any derivative version,
86provided, however, that PSF's License Agreement and PSF's notice of copyright,85provided, however, that PSF's License Agreement and PSF's notice of copyright,
87i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,86i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
882011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Python Software Foundation; All872011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation;
89Rights Reserved" are retained in Python alone or in any derivative version88All Rights Reserved" are retained in Python alone or in any derivative version
90prepared by Licensee.89prepared by Licensee.
9190
923. In the event Licensee prepares a derivative work that is based on913. In the event Licensee prepares a derivative work that is based on
diff --git a/MANIFEST.in b/MANIFEST.in
index 0e131eb..fecbae3 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -7,7 +7,6 @@ include MANIFEST.in
7include package.json7include package.json
8include *.rst8include *.rst
9graft django9graft django
10prune django/contrib/admin/bin
11graft docs10graft docs
12graft extras11graft extras
13graft js_tests12graft js_tests
diff --git a/PKG-INFO b/PKG-INFO
index bfed6be..0af8692 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,16 +1,25 @@
1Metadata-Version: 2.11Metadata-Version: 2.1
2Name: Django2Name: Django
3<<<<<<< PKG-INFO
3Version: 2.2.244Version: 2.2.24
5=======
6Version: 3.2.9
7>>>>>>> PKG-INFO
4Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.8Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
5Home-page: https://www.djangoproject.com/9Home-page: https://www.djangoproject.com/
6Author: Django Software Foundation10Author: Django Software Foundation
7Author-email: foundation@djangoproject.com11Author-email: foundation@djangoproject.com
8License: BSD12License: BSD-3-Clause
9Project-URL: Documentation, https://docs.djangoproject.com/13Project-URL: Documentation, https://docs.djangoproject.com/
14Project-URL: Release notes, https://docs.djangoproject.com/en/stable/releases/
10Project-URL: Funding, https://www.djangoproject.com/fundraising/15Project-URL: Funding, https://www.djangoproject.com/fundraising/
11Project-URL: Source, https://github.com/django/django16Project-URL: Source, https://github.com/django/django
12Project-URL: Tracker, https://code.djangoproject.com/17Project-URL: Tracker, https://code.djangoproject.com/
13Description: Django is a high-level Python Web framework that encourages rapid development18Description: ======
19 Django
20 ======
21
22 Django is a high-level Python Web framework that encourages rapid development
14 and clean, pragmatic design. Thanks for checking it out.23 and clean, pragmatic design. Thanks for checking it out.
15 24
16 All documentation is in the "``docs``" directory and online at25 All documentation is in the "``docs``" directory and online at
@@ -38,8 +47,12 @@ Description: Django is a high-level Python Web framework that encourages rapid d
38 To get more help:47 To get more help:
39 48
40 * Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people49 * Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people
50<<<<<<< PKG-INFO
41 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're51 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're
42 new to IRC.52 new to IRC.
53=======
54 hang out there. See https://web.libera.chat if you're new to IRC.
55>>>>>>> PKG-INFO
43 56
44 * Join the django-users mailing list, or read the archives, at57 * Join the django-users mailing list, or read the archives, at
45 https://groups.google.com/group/django-users.58 https://groups.google.com/group/django-users.
@@ -55,6 +68,13 @@ Description: Django is a high-level Python Web framework that encourages rapid d
55 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at68 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at
56 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests69 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests
57 70
71 Supporting the Development of Django
72 ====================================
73
74 Django's development depends on your contributions.
75
76 If you depend on Django, remember to support the Django Software Foundation: https://www.djangoproject.com/fundraising/
77
58Platform: UNKNOWN78Platform: UNKNOWN
59Classifier: Development Status :: 5 - Production/Stable79Classifier: Development Status :: 5 - Production/Stable
60Classifier: Environment :: Web Environment80Classifier: Environment :: Web Environment
@@ -64,17 +84,26 @@ Classifier: License :: OSI Approved :: BSD License
64Classifier: Operating System :: OS Independent84Classifier: Operating System :: OS Independent
65Classifier: Programming Language :: Python85Classifier: Programming Language :: Python
66Classifier: Programming Language :: Python :: 386Classifier: Programming Language :: Python :: 3
67Classifier: Programming Language :: Python :: 3.587Classifier: Programming Language :: Python :: 3 :: Only
68Classifier: Programming Language :: Python :: 3.688Classifier: Programming Language :: Python :: 3.6
69Classifier: Programming Language :: Python :: 3.789Classifier: Programming Language :: Python :: 3.7
70Classifier: Programming Language :: Python :: 3.890Classifier: Programming Language :: Python :: 3.8
71Classifier: Programming Language :: Python :: 3.991Classifier: Programming Language :: Python :: 3.9
92<<<<<<< PKG-INFO
72Classifier: Programming Language :: Python :: 3 :: Only93Classifier: Programming Language :: Python :: 3 :: Only
94=======
95Classifier: Programming Language :: Python :: 3.10
96>>>>>>> PKG-INFO
73Classifier: Topic :: Internet :: WWW/HTTP97Classifier: Topic :: Internet :: WWW/HTTP
74Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content98Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
75Classifier: Topic :: Internet :: WWW/HTTP :: WSGI99Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
76Classifier: Topic :: Software Development :: Libraries :: Application Frameworks100Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
77Classifier: Topic :: Software Development :: Libraries :: Python Modules101Classifier: Topic :: Software Development :: Libraries :: Python Modules
102<<<<<<< PKG-INFO
78Requires-Python: >=3.5103Requires-Python: >=3.5
104=======
105Requires-Python: >=3.6
106Provides-Extra: argon2
107>>>>>>> PKG-INFO
79Provides-Extra: bcrypt108Provides-Extra: bcrypt
80Provides-Extra: argon2109Provides-Extra: argon2
diff --git a/README.rst b/README.rst
index 6776b7c..c808a45 100644
--- a/README.rst
+++ b/README.rst
@@ -1,3 +1,7 @@
1======
2Django
3======
4
1Django is a high-level Python Web framework that encourages rapid development5Django is a high-level Python Web framework that encourages rapid development
2and clean, pragmatic design. Thanks for checking it out.6and clean, pragmatic design. Thanks for checking it out.
37
@@ -26,8 +30,12 @@ ticket here: https://code.djangoproject.com/newticket
26To get more help:30To get more help:
2731
28* Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people32* Join the ``#django`` channel on ``irc.libera.chat``. Lots of helpful people
33<<<<<<< README.rst
29 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're34 out there. See https://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial if you're
30 new to IRC.35 new to IRC.
36=======
37 hang out there. See https://web.libera.chat if you're new to IRC.
38>>>>>>> README.rst
3139
32* Join the django-users mailing list, or read the archives, at40* Join the django-users mailing list, or read the archives, at
33 https://groups.google.com/group/django-users.41 https://groups.google.com/group/django-users.
@@ -42,3 +50,10 @@ To run Django's test suite:
42* Follow the instructions in the "Unit tests" section of50* Follow the instructions in the "Unit tests" section of
43 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at51 ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at
44 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests52 https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests
53
54Supporting the Development of Django
55====================================
56
57Django's development depends on your contributions.
58
59If you depend on Django, remember to support the Django Software Foundation: https://www.djangoproject.com/fundraising/
diff --git a/debian/changelog b/debian/changelog
index 01b2283..879ccc0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,376 @@
1<<<<<<< debian/changelog
2=======
3python-django (2:3.2.9-2ubuntu1) jammy; urgency=medium
4
5 * Merge with Debian unstable (LP: #1946890). Dropped changes:
6 - d/p/test_subparser_regression.patch: Fix test regression (LP: #1945993)
7 [Fixed in 2:3.2.8-1]
8
9 -- Lena Voytek <lena.voytek@canonical.com> Thu, 18 Nov 2021 10:28:01 -0700
10
11python-django (2:3.2.9-2) unstable; urgency=medium
12
13 * Team upload.
14 * Fix __in lookup crash when combining with filtered aggregates.
15 Fix for: https://code.djangoproject.com/ticket/32690
16 This issue affects src:lava, where work is being done towards Django 3.2
17 compatibility.
18 Upstream patch from:
19 https://github.com/django/django/commit/136ff592ad8aa8b7fa1e61435e5501cc98ce8573
20 * Add Breaks: on lava-server << 2021.11 (Closes: #996931)
21 * Add Breaks: on python-django-pyscss << 2.0.2-10 (Closes: #983618)
22
23 -- Antonio Terceiro <terceiro@debian.org> Wed, 10 Nov 2021 11:22:48 -0300
24
25python-django (2:3.2.9-1) unstable; urgency=medium
26
27 * New upstream release.
28 <https://docs.djangoproject.com/en/3.2/releases/3.2.9/>
29
30 -- Chris Lamb <lamby@debian.org> Mon, 01 Nov 2021 16:13:55 +0000
31
32python-django (2:3.2.8-1) unstable; urgency=medium
33
34 * New upstream bugfix release.
35 * Drop a patch applied upstream.
36 * Bump Standards-Version to 4.6.0.
37
38 -- Chris Lamb <lamby@debian.org> Tue, 05 Oct 2021 09:34:57 +0100
39
40python-django (2:3.2.7-4) unstable; urgency=medium
41
42 * Skip a test that is fixed upstream (with a number of overlapping patches).
43
44 -- Chris Lamb <lamby@debian.org> Mon, 13 Sep 2021 09:03:27 +0100
45
46python-django (2:3.2.7-3) unstable; urgency=medium
47
48 * Actually upload 3.2 branch to unstable...
49
50 -- Chris Lamb <lamby@debian.org> Thu, 09 Sep 2021 17:49:23 +0100
51
52python-django (2:3.2.7-2) experimental; urgency=medium
53
54 * Upload 3.2 branch to unstable.
55
56 -- Chris Lamb <lamby@debian.org> Thu, 09 Sep 2021 15:51:11 +0100
57
58python-django (2:3.2.7-1) experimental; urgency=medium
59
60 * New upstream bugfix release.
61
62 -- Chris Lamb <lamby@debian.org> Wed, 01 Sep 2021 10:46:07 +0100
63
64python-django (2:3.2.6-1) experimental; urgency=medium
65
66 * New upstream bugfix release.
67 <https://docs.djangoproject.com/en/3.2/releases/3.2.6/>
68 * Bump Standards-Version to 4.5.1.
69
70 -- Chris Lamb <lamby@debian.org> Mon, 02 Aug 2021 09:16:21 +0100
71
72python-django (2:3.2.5-2) experimental; urgency=medium
73
74 * Don't symlink /usr/bin/django-admin to "django-admin.py"; ship the script
75 generated by the entry_points system instead, otherwise we introduce a
76 confusing "django-admin.py" deprecation message when using "django-admin".
77 (Closes: #991098)
78
79 -- Chris Lamb <lamby@debian.org> Thu, 15 Jul 2021 13:54:57 +0100
80
81python-django (2:3.2.5-1) experimental; urgency=medium
82
83 * New upstream security release:
84
85 - CVE-2021-35042: Potential SQL injection via unsanitized
86 QuerySet.order_by() input.
87
88 Unsanitized user input passed to QuerySet.order_by() could bypass
89 intended column reference validation in path marked for deprecation
90 resulting in a potential SQL injection even if a deprecation warning is
91 emitted. As a mitigation, the strict column reference validation was
92 restored for the duration of the deprecation period. This regression
93 appeared in Django version 3.1 as a side effect of fixing another bug
94 (#31426).
95
96 For more information, please see:
97 <https://www.djangoproject.com/weblog/2021/jul/01/security-releases/>
98
99 -- Chris Lamb <lamby@debian.org> Thu, 01 Jul 2021 10:56:07 +0100
100
101python-django (2:3.2.4-1) experimental; urgency=medium
102
103 * New upstream security release. (Closes: #989394)
104
105 - CVE-2021-33203: Potential directory traversal via admindocs
106
107 Staff members could use the admindocs TemplateDetailView view to
108 check the existence of arbitrary files. Additionally, if (and only
109 if) the default admindocs templates have been customized by the
110 developers to also expose the file contents, then not only the
111 existence but also the file contents would have been exposed.
112
113 As a mitigation, path sanitation is now applied and only files
114 within the template root directories can be loaded.
115
116 This issue has low severity, according to the Django security
117 policy.
118
119 Thanks to Rasmus Lerchedahl Petersen and Rasmus Wriedt Larsen from
120 the CodeQL Python team for the report.
121
122 - CVE-2021-33571: Possible indeterminate SSRF, RFI, and LFI attacks
123 since validators accepted leading zeros in IPv4 addresses
124
125 URLValidator, validate_ipv4_address(), and
126 validate_ipv46_address() didn't prohibit leading zeros in octal
127 literals. If you used such values you could suffer from
128 indeterminate SSRF, RFI, and LFI attacks.
129
130 validate_ipv4_address() and validate_ipv46_address() validators
131 were not affected on Python 3.9.5+.
132
133 This issue has medium severity, according to the Django security
134 policy.
135
136 * Bump Standards-Version to 4.5.1.
137
138 -- Chris Lamb <lamby@debian.org> Wed, 02 Jun 2021 16:08:13 +0100
139
140python-django (2:3.2.3-1) experimental; urgency=medium
141
142 * New upstream release.
143 <https://docs.djangoproject.com/en/3.2/releases/3.2.3/>
144
145 -- Chris Lamb <lamby@debian.org> Thu, 13 May 2021 10:25:49 +0100
146
147python-django (2:3.2.2-1) experimental; urgency=medium
148
149 * New upstream security release:
150 - CVE-2021-32052: Header injection possibility since URLValidator accepted
151 newlines in input on Python 3.9.5+. (Closes: #988136)
152 - Full release notes:
153 <https://www.djangoproject.com/weblog/2021/may/06/security-releases/>
154
155 -- Chris Lamb <lamby@debian.org> Thu, 06 May 2021 13:04:03 +0100
156
157python-django (2:3.2.1-1) experimental; urgency=medium
158
159 * New upstream security release:
160 - CVE-2021-31542: Potential directory-traversal via uploaded files.
161 (Closes: #988053)
162 - Full release notes:
163 <https://www.djangoproject.com/weblog/2021/may/04/security-releases/>
164 * Refresh patches.
165
166 -- Chris Lamb <lamby@debian.org> Tue, 04 May 2021 12:59:07 +0100
167
168python-django (2:3.2-1) experimental; urgency=medium
169
170 * New upstream major release:
171
172 - Full release notes: <https://docs.djangoproject.com/en/3.2/releases/3.2/>
173 - CVE-2021-28658: The MultiPartParser class allowed directory-traversal
174 via uploaded files via maliciously crafted filenames. (Closes: #986447)
175
176 -- Chris Lamb <lamby@debian.org> Tue, 06 Apr 2021 11:38:48 +0100
177
178python-django (2:3.2~rc1-1) experimental; urgency=medium
179
180 * New upstream release candidate.
181 <https://www.djangoproject.com/weblog/2021/mar/18/django-32-rc1/#s-id5>
182 * Refresh patches.
183
184 -- Chris Lamb <lamby@debian.org> Fri, 19 Mar 2021 09:56:40 +0000
185
186python-django (2:3.2~beta1-1) experimental; urgency=medium
187
188 * New upstream beta release.
189 <https://www.djangoproject.com/weblog/2021/feb/19/django-32-beta-1-released/>
190 * Apply wrap-and-sort -sa.
191
192 -- Chris Lamb <lamby@debian.org> Fri, 19 Feb 2021 16:13:21 +0000
193
194python-django (2:3.2~alpha1-2) experimental; urgency=medium
195
196 * Apply security fix from upstream:
197
198 - CVE-2021-23336: Prevent a web cache poisoning attack via "parameter
199 cloaking". Django contains a copy of urllib.parse.parse_qsl() which was
200 added to backport some security fixes. A further security fix has been
201 issued recently such that parse_qsl() no longer allows using ";" as a
202 query parameter separator by default. (Closes: #983090)
203
204 <https://www.djangoproject.com/weblog/2021/feb/19/security-releases/>
205
206 -- Chris Lamb <lamby@debian.org> Fri, 19 Feb 2021 09:28:42 +0000
207
208python-django (2:3.2~alpha1-1) experimental; urgency=medium
209
210 * New upstream alpha release.
211 <https://www.djangoproject.com/weblog/2021/jan/19/django-32-alpha-1-released/>
212 * Refresh patches.
213 * Drop no-upstream-changelog overrides; removed from Lintian.
214
215 -- Chris Lamb <lamby@debian.org> Wed, 20 Jan 2021 09:27:49 +0000
216
217python-django (2:3.1.5-1) experimental; urgency=medium
218
219 * New upstream bugfix release.
220 <https://docs.djangoproject.com/en/3.1/releases/3.1.5/>
221
222 -- Chris Lamb <lamby@debian.org> Mon, 04 Jan 2021 12:45:20 +0000
223
224python-django (2:3.1.4-1) experimental; urgency=medium
225
226 * New upstream bugfix release.
227 <https://docs.djangoproject.com/en/3.1/releases/3.1.4/>
228 * Bump Standards-Version to 4.5.1.
229
230 -- Chris Lamb <lamby@debian.org> Tue, 01 Dec 2020 11:25:32 +0000
231
232python-django (2:3.1.3-1) experimental; urgency=medium
233
234 * New upstream bugfix release.
235 <https://docs.djangoproject.com/en/stable/releases/3.1.3/>
236
237 -- Chris Lamb <lamby@debian.org> Tue, 03 Nov 2020 11:59:29 +0000
238
239python-django (2:3.1.2-1) experimental; urgency=medium
240
241 * New upstream bugfix release.
242 <https://www.djangoproject.com/weblog/2020/oct/01/django-bugfix-release-312/>
243 * Update Maintainer field with new Debian Python Team contact address.
244 * Update Vcs-* fields with new Debian Python Team Salsa layout.
245
246 -- Chris Lamb <lamby@debian.org> Thu, 01 Oct 2020 10:06:16 +0100
247
248python-django (2:3.1.1-1) experimental; urgency=medium
249
250 * New upstream security release to address CVE-2020-24583, CVE-2020-24584.
251 (Closes: #969367)
252 <https://www.djangoproject.com/weblog/2020/sep/01/security-releases/>
253
254 -- Chris Lamb <lamby@debian.org> Tue, 01 Sep 2020 12:32:23 +0100
255
256python-django (2:3.1-2) experimental; urgency=medium
257
258 * Set the PYTHONPATH in the autopkgtests in the same way that we do in
259 debian/rules. (Closes: #968577)
260
261 -- Chris Lamb <lamby@debian.org> Mon, 17 Aug 2020 23:11:30 +0100
262
263python-django (2:3.1-1) experimental; urgency=medium
264
265 * New upstream release.
266 <https://docs.djangoproject.com/en/3.1/releases/3.1/>
267
268 -- Chris Lamb <lamby@debian.org> Tue, 04 Aug 2020 10:11:43 +0100
269
270python-django (2:3.1~rc1-1) experimental; urgency=medium
271
272 * New upstream release candidate release.
273 <https://www.djangoproject.com/weblog/2020/jul/20/django-31-release-candidate-1-released/>
274
275 -- Chris Lamb <lamby@debian.org> Mon, 20 Jul 2020 11:43:40 +0100
276
277python-django (2:3.1~beta1-1) experimental; urgency=medium
278
279 * New upstream beta release.
280 <https://www.djangoproject.com/weblog/2020/jun/15/django-31-beta-1-released/>
281 * Refresh patches.
282
283 -- Chris Lamb <lamby@debian.org> Mon, 15 Jun 2020 11:30:39 +0100
284
285python-django (2:3.0.7-2) experimental; urgency=medium
286
287 * Fix a regression in the handling of CVE-2020-13596.
288 * Refresh patches.
289
290 -- Chris Lamb <lamby@debian.org> Sat, 13 Jun 2020 15:15:34 +0100
291
292python-django (2:3.0.7-1) experimental; urgency=medium
293
294 * New upstream security release.
295 <https://www.djangoproject.com/weblog/2020/jun/03/security-releases/>
296
297 -- Chris Lamb <lamby@debian.org> Wed, 03 Jun 2020 21:16:00 +0100
298
299python-django (2:3.0.6-1) experimental; urgency=medium
300
301 * New upstream bugfix release.
302 <https://docs.djangoproject.com/en/3.0/releases/3.0.6/>
303
304 -- Chris Lamb <lamby@debian.org> Mon, 04 May 2020 19:33:25 +0100
305
306python-django (2:3.0.5-1) experimental; urgency=medium
307
308 * New upstream release.
309 <https://docs.djangoproject.com/en/3.0/releases/3.0.5/>
310 * Refresh all patches.
311
312 -- Chris Lamb <lamby@debian.org> Wed, 01 Apr 2020 10:35:42 +0100
313
314python-django (2:3.0.4-1) experimental; urgency=medium
315
316 * New upstream security release. (Closes: #953102)
317 <https://www.djangoproject.com/weblog/2020/mar/04/security-releases/>
318 * Bump Standards-Version to 4.5.0.
319 * Refresh debian/patches/0004-Use-locally-installed-documentation-sources.patch.
320
321 -- Chris Lamb <lamby@debian.org> Wed, 04 Mar 2020 08:22:30 -0800
322
323python-django (2:3.0.2-1) experimental; urgency=medium
324
325 * New upstream bugfix release.
326 <https://www.djangoproject.com/weblog/2020/jan/02/django-bugfix-release-302/>
327 * Add python3-selenium to test-dependencies and to a runtime "Suggests".
328 (Closes: #947549)
329
330 -- Chris Lamb <lamby@debian.org> Thu, 02 Jan 2020 10:52:39 +0000
331
332python-django (2:3.0.1-1) experimental; urgency=medium
333
334 * New upstream security release.
335 <https://www.djangoproject.com/weblog/2019/dec/18/security-releases/>
336 (Closes: #946937)
337
338 -- Chris Lamb <lamby@debian.org> Mon, 30 Dec 2019 10:44:01 +0000
339
340python-django (2:3.0-1) experimental; urgency=medium
341
342 * New upstream release.
343 <https://www.djangoproject.com/weblog/2019/dec/02/django-3-released/>
344
345 -- Chris Lamb <lamby@debian.org> Mon, 02 Dec 2019 12:24:50 +0000
346
347python-django (2:3.0~rc1-1) experimental; urgency=medium
348
349 * New upstream release candidate release.
350 <https://www.djangoproject.com/weblog/2019/nov/18/django-30-release-candidate-1-released/>
351
352 -- Chris Lamb <lamby@debian.org> Mon, 18 Nov 2019 11:25:38 -0500
353
354python-django (2:3.0~beta1-1) experimental; urgency=medium
355
356 * New upstream beta release.
357 <https://www.djangoproject.com/weblog/2019/oct/14/django-30-beta-1-released/>
358 * Bump Standards-Version to 4.4.1.
359 * wrap-and-sort -sa.
360
361 -- Chris Lamb <lamby@debian.org> Mon, 14 Oct 2019 11:11:10 -0700
362
363python-django (2:3.0~alpha1-1) experimental; urgency=medium
364
365 * New upstream alpha release.
366 <https://www.djangoproject.com/weblog/2019/sep/10/django-30-alpha-1-released/>
367 * Refresh all patches.
368 * Add asgiref to build and runtime dependencies.
369 * Update debian/copyright.
370
371 -- Chris Lamb <lamby@debian.org> Tue, 10 Sep 2019 11:22:45 +0100
372
373>>>>>>> debian/changelog
1python-django (2:2.2.24-1ubuntu1) impish; urgency=medium374python-django (2:2.2.24-1ubuntu1) impish; urgency=medium
2375
3 * d/p/test_subparser_regression.patch: Fix test regression (LP: #1945993)376 * d/p/test_subparser_regression.patch: Fix test regression (LP: #1945993)
diff --git a/debian/control b/debian/control
index 4d6f99d..c1930ed 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,11 @@ Uploaders:
8 Raphaël Hertzog <hertzog@debian.org>,8 Raphaël Hertzog <hertzog@debian.org>,
9 Brian May <bam@debian.org>,9 Brian May <bam@debian.org>,
10 Chris Lamb <lamby@debian.org>,10 Chris Lamb <lamby@debian.org>,
11<<<<<<< debian/control
11Standards-Version: 4.5.112Standards-Version: 4.5.1
13=======
14Standards-Version: 4.6.0
15>>>>>>> debian/control
12Build-Depends:16Build-Depends:
13 debhelper-compat (= 13),17 debhelper-compat (= 13),
14 dh-python,18 dh-python,
@@ -18,6 +22,7 @@ Build-Depends:
18 python-django-formtools-doc <!nodoc>,22 python-django-formtools-doc <!nodoc>,
19 python-psycopg2-doc <!nodoc>,23 python-psycopg2-doc <!nodoc>,
20 python3-all,24 python3-all,
25 python3-asgiref <!nocheck>,
21 python3-bcrypt <!nocheck>,26 python3-bcrypt <!nocheck>,
22 python3-doc <!nodoc>,27 python3-doc <!nodoc>,
23 python3-docutils <!nodoc>,28 python3-docutils <!nodoc>,
@@ -50,7 +55,10 @@ Breaks:
50 python-django-common,55 python-django-common,
51 python3-django-filters (<< 2.1.0),56 python3-django-filters (<< 2.1.0),
52 python3-mysqldb (<< 1.3.13),57 python3-mysqldb (<< 1.3.13),
58 lava-server (<< 2021.11),
59 python3-django-pyscss (<< 2.0.2-10~),
53Depends:60Depends:
61 python3-asgiref,
54 ${misc:Depends},62 ${misc:Depends},
55 ${python3:Depends},63 ${python3:Depends},
56Recommends:64Recommends:
diff --git a/debian/copyright b/debian/copyright
index a310c48..e6b2edf 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -51,14 +51,6 @@ Files: django/utils/ipv6.py
51Copyright: 2007 Google Inc.51Copyright: 2007 Google Inc.
52License: Apache-2.052License: Apache-2.0
5353
54Files: django/utils/lru_cache.py
55Copyright: 2012 Raymond Hettinger
56License: Expat
57
58Files: django/utils/six.py
59Copyright: 2010-2015 Benjamin Peterson
60License: Expat
61
62Files: django/utils/autoreload.py54Files: django/utils/autoreload.py
63Copyright: 2004 CherryPy Team <team@cherrypy.org>, 2008 Ian Bicking55Copyright: 2004 CherryPy Team <team@cherrypy.org>, 2008 Ian Bicking
64Comment: "NAME" is the CherryPy Team. Also, quoting the source code:56Comment: "NAME" is the CherryPy Team. Also, quoting the source code:
diff --git a/debian/gbp.conf b/debian/gbp.conf
index 114ce39..3dfdaa2 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -1,5 +1,5 @@
1[DEFAULT]1[DEFAULT]
2upstream-branch=upstream/2.0.x2upstream-branch=upstream/3.x
3debian-branch=debian/sid3debian-branch=debian/sid
4pristine-tar=True4pristine-tar=True
55
diff --git a/debian/patches/0001-disable-sources-in-sphinxdoc.diff b/debian/patches/0001-disable-sources-in-sphinxdoc.diff
index a7eb740..596cc77 100644
--- a/debian/patches/0001-disable-sources-in-sphinxdoc.diff
+++ b/debian/patches/0001-disable-sources-in-sphinxdoc.diff
@@ -15,10 +15,17 @@ Patch-Name: 02_disable-sources-in-sphinxdoc.diff
15 1 file changed, 4 insertions(+), 1 deletion(-)15 1 file changed, 4 insertions(+), 1 deletion(-)
1616
17diff --git a/docs/conf.py b/docs/conf.py17diff --git a/docs/conf.py b/docs/conf.py
18<<<<<<< debian/patches/0001-disable-sources-in-sphinxdoc.diff
18index 9526cc411bab..9cbac4ad2804 10064419index 9526cc411bab..9cbac4ad2804 100644
19--- a/docs/conf.py20--- a/docs/conf.py
20+++ b/docs/conf.py21+++ b/docs/conf.py
21@@ -210,7 +210,10 @@ html_additional_pages = {}22@@ -210,7 +210,10 @@ html_additional_pages = {}
23=======
24index f7a690953ff5..1ef211981cb3 100644
25--- a/docs/conf.py
26+++ b/docs/conf.py
27@@ -217,7 +217,10 @@ html_additional_pages = {}
28>>>>>>> debian/patches/0001-disable-sources-in-sphinxdoc.diff
22 # html_split_index = False29 # html_split_index = False
23 30
24 # If true, links to the reST sources are added to the pages.31 # If true, links to the reST sources are added to the pages.
diff --git a/debian/patches/0002-use_debian_geoip_database_as_default.diff b/debian/patches/0002-use_debian_geoip_database_as_default.diff
index e910849..e20522c 100644
--- a/debian/patches/0002-use_debian_geoip_database_as_default.diff
+++ b/debian/patches/0002-use_debian_geoip_database_as_default.diff
@@ -15,7 +15,7 @@ Patch-Name: 06_use_debian_geoip_database_as_default.diff
15 1 file changed, 6 insertions(+), 3 deletions(-)15 1 file changed, 6 insertions(+), 3 deletions(-)
1616
17diff --git a/django/contrib/gis/geoip2/base.py b/django/contrib/gis/geoip2/base.py17diff --git a/django/contrib/gis/geoip2/base.py b/django/contrib/gis/geoip2/base.py
18index b098632d39b3..7cdf81aad598 10064418index 6b35a8acdc42..ff6141bdcc5b 100644
19--- a/django/contrib/gis/geoip2/base.py19--- a/django/contrib/gis/geoip2/base.py
20+++ b/django/contrib/gis/geoip2/base.py20+++ b/django/contrib/gis/geoip2/base.py
21@@ -53,6 +53,7 @@ class GeoIP2:21@@ -53,6 +53,7 @@ class GeoIP2:
@@ -46,8 +46,8 @@ index b098632d39b3..7cdf81aad598 100644
46+ path = path or GEOIP_SETTINGS.get('GEOIP_PATH', '/usr/share/GeoIP')46+ path = path or GEOIP_SETTINGS.get('GEOIP_PATH', '/usr/share/GeoIP')
47 if not path:47 if not path:
48 raise GeoIP2Exception('GeoIP path must be provided via parameter or the GEOIP_PATH setting.')48 raise GeoIP2Exception('GeoIP path must be provided via parameter or the GEOIP_PATH setting.')
49 if not isinstance(path, str):49
50@@ -84,12 +87,12 @@ class GeoIP2:50@@ -82,12 +85,12 @@ class GeoIP2:
51 # Constructing the GeoIP database filenames using the settings51 # Constructing the GeoIP database filenames using the settings
52 # dictionary. If the database files for the GeoLite country52 # dictionary. If the database files for the GeoLite country
53 # and/or city datasets exist, then try to open them.53 # and/or city datasets exist, then try to open them.
diff --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
index 71e54c3..25d142b 100644
--- 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
@@ -7,7 +7,7 @@ Subject: Set the default shebang to new projects to use Python 3.
7 1 file changed, 1 insertion(+), 1 deletion(-)7 1 file changed, 1 insertion(+), 1 deletion(-)
88
9diff --git a/django/conf/project_template/manage.py-tpl b/django/conf/project_template/manage.py-tpl9diff --git a/django/conf/project_template/manage.py-tpl b/django/conf/project_template/manage.py-tpl
10index 9525fd7ac703..d5d5607bad93 10075510index a628884dc80b..50920a0df19b 100755
11--- a/django/conf/project_template/manage.py-tpl11--- a/django/conf/project_template/manage.py-tpl
12+++ b/django/conf/project_template/manage.py-tpl12+++ b/django/conf/project_template/manage.py-tpl
13@@ -1,4 +1,4 @@13@@ -1,4 +1,4 @@
diff --git a/debian/patches/0004-Use-locally-installed-documentation-sources.patch b/debian/patches/0004-Use-locally-installed-documentation-sources.patch
index 44d7977..17115a8 100644
--- a/debian/patches/0004-Use-locally-installed-documentation-sources.patch
+++ b/debian/patches/0004-Use-locally-installed-documentation-sources.patch
@@ -7,16 +7,23 @@ Subject: Use locally installed documentation sources
7 1 file changed, 3 insertions(+), 3 deletions(-)7 1 file changed, 3 insertions(+), 3 deletions(-)
88
9diff --git a/docs/conf.py b/docs/conf.py9diff --git a/docs/conf.py b/docs/conf.py
10<<<<<<< debian/patches/0004-Use-locally-installed-documentation-sources.patch
10index 9cbac4ad2804..803f00078109 10064411index 9cbac4ad2804..803f00078109 100644
11--- a/docs/conf.py12--- a/docs/conf.py
12+++ b/docs/conf.py13+++ b/docs/conf.py
13@@ -140,9 +140,9 @@ pygments_style = 'trac'14@@ -140,9 +140,9 @@ pygments_style = 'trac'
15=======
16index 1ef211981cb3..da1eea251f91 100644
17--- a/docs/conf.py
18+++ b/docs/conf.py
19@@ -147,9 +147,9 @@ pygments_style = 'trac'
20>>>>>>> debian/patches/0004-Use-locally-installed-documentation-sources.patch
14 # Links to Python's docs should reference the most recent version of the 3.x21 # Links to Python's docs should reference the most recent version of the 3.x
15 # branch, which is located at this URL.22 # branch, which is located at this URL.
16 intersphinx_mapping = {23 intersphinx_mapping = {
17- 'python': ('https://docs.python.org/3/', None),24- 'python': ('https://docs.python.org/3/', None),
18- 'sphinx': ('http://www.sphinx-doc.org/en/master/', None),25- 'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
19- 'psycopg2': ('http://initd.org/psycopg/docs/', None),26- 'psycopg2': ('https://www.psycopg.org/docs/', None),
20+ 'python': ('/usr/share/doc/python3-doc/html/', None),27+ 'python': ('/usr/share/doc/python3-doc/html/', None),
21+ 'sphinx': ('/usr/share/doc/sphinx-doc/html/', None),28+ 'sphinx': ('/usr/share/doc/sphinx-doc/html/', None),
22+ 'psycopg2': ('/usr/share/doc/python-psycopg2-doc/html/', None),29+ 'psycopg2': ('/usr/share/doc/python-psycopg2-doc/html/', None),
diff --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
index c30be2c..f115e3d 100644
--- 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
@@ -7,12 +7,12 @@ Subject: Use #!/usr/bin/env python3 shebang for django-admin.py.
7 1 file changed, 1 insertion(+), 1 deletion(-)7 1 file changed, 1 insertion(+), 1 deletion(-)
88
9diff --git a/django/bin/django-admin.py b/django/bin/django-admin.py9diff --git a/django/bin/django-admin.py b/django/bin/django-admin.py
10index f518cdc463eb..53c32d657371 10075510index 594b0f11db53..898788e66b77 100755
11--- a/django/bin/django-admin.py11--- a/django/bin/django-admin.py
12+++ b/django/bin/django-admin.py12+++ b/django/bin/django-admin.py
13@@ -1,4 +1,4 @@13@@ -1,4 +1,4 @@
14-#!/usr/bin/env python14-#!/usr/bin/env python
15+#!/usr/bin/env python315+#!/usr/bin/env python3
16 from django.core import management16 # When the django-admin.py deprecation ends, remove this script.
17 import warnings
17 18
18 if __name__ == "__main__":
diff --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
19new file mode 10064419new file mode 100644
index 0000000..137b7be
--- /dev/null
+++ b/debian/patches/0006-Fixed-32690-Fixed-__in-lookup-crash-when-combining-w.patch
@@ -0,0 +1,57 @@
1From: Simon Charette <charette.s@gmail.com>
2Date: Tue, 4 May 2021 23:42:52 -0400
3Subject: Fixed #32690 -- Fixed __in lookup crash when combining with filtered
4 aggregates.
5
6Having lookups group by subquery right-hand-sides is likely unnecessary
7in the first place but relatively large amount of work would be needed
8to achieve that such as making Lookup instances proper resolvable
9expressions.
10
11Regression in 35431298226165986ad07e91f9d3aca721ff38ec.
12
13Thanks James A. Munsch for the report.
14---
15 django/db/models/lookups.py | 9 +++++++++
16 tests/aggregation_regress/tests.py | 8 ++++++++
17 2 files changed, 17 insertions(+)
18
19diff --git a/django/db/models/lookups.py b/django/db/models/lookups.py
20index 43f40c24ec1f..82f149750ea6 100644
21--- a/django/db/models/lookups.py
22+++ b/django/db/models/lookups.py
23@@ -402,6 +402,15 @@ class In(FieldGetDbPrepValueIterableMixin, BuiltinLookup):
24 self.rhs.add_fields(['pk'])
25 return super().process_rhs(compiler, connection)
26
27+ def get_group_by_cols(self, alias=None):
28+ cols = self.lhs.get_group_by_cols()
29+ if hasattr(self.rhs, 'get_group_by_cols'):
30+ if not getattr(self.rhs, 'has_select_fields', True):
31+ self.rhs.clear_select_clause()
32+ self.rhs.add_fields(['pk'])
33+ cols.extend(self.rhs.get_group_by_cols())
34+ return cols
35+
36 def get_rhs_op(self, connection, rhs):
37 return 'IN %s' % rhs
38
39diff --git a/tests/aggregation_regress/tests.py b/tests/aggregation_regress/tests.py
40index 877e7b49a7c8..5d841b166a35 100644
41--- a/tests/aggregation_regress/tests.py
42+++ b/tests/aggregation_regress/tests.py
43@@ -1525,6 +1525,14 @@ class AggregationTests(TestCase):
44 allow_distinct = True
45 DistinctAggregate('foo', distinct=True)
46
47+ @skipUnlessDBFeature('supports_subqueries_in_group_by')
48+ def test_having_subquery_select(self):
49+ authors = Author.objects.filter(pk=self.a1.pk)
50+ books = Book.objects.annotate(Count('authors')).filter(
51+ Q(authors__in=authors) | Q(authors__count__gt=2)
52+ )
53+ self.assertEqual(set(books), {self.b1, self.b4})
54+
55
56 class JoinPromotionTests(TestCase):
57 def test_ticket_21150(self):
diff --git a/debian/patches/series b/debian/patches/series
index 08cb34f..d369411 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,4 +3,8 @@
30004-Use-locally-installed-documentation-sources.patch30004-Use-locally-installed-documentation-sources.patch
40004-Set-the-default-shebang-to-new-projects-to-use-Pytho.patch40004-Set-the-default-shebang-to-new-projects-to-use-Pytho.patch
50005-Use-usr-bin-env-python3-shebang-for-django-admin.py.patch50005-Use-usr-bin-env-python3-shebang-for-django-admin.py.patch
6<<<<<<< debian/patches/series
60006-test-subparser-regression.patch70006-test-subparser-regression.patch
8=======
90006-Fixed-32690-Fixed-__in-lookup-crash-when-combining-w.patch
10>>>>>>> debian/patches/series
diff --git a/debian/python-django-doc.lintian-overrides b/debian/python-django-doc.lintian-overrides
7deleted file mode 10064411deleted file mode 100644
index ee7fa27..0000000
--- a/debian/python-django-doc.lintian-overrides
+++ /dev/null
@@ -1,4 +0,0 @@
1# We ship upstream's comprehensive, referenced and hyperlinked upstream
2# changelog under /usr/share/docwhich we would be doing a disservice to our
3# users by duplicating elsewhere.
4python-django-doc: no-upstream-changelog
diff --git a/debian/python-django.lintian-overrides b/debian/python-django.lintian-overrides
5deleted file mode 1006440deleted file mode 100644
index 243f97b..0000000
--- a/debian/python-django.lintian-overrides
+++ /dev/null
@@ -1,4 +0,0 @@
1# We ship upstream's comprehensive, referenced and hyperlinked upstream
2# changelog in python-django-doc which we would be doing a disservice to our
3# users by duplicating here.
4python-django: no-upstream-changelog
diff --git a/debian/python3-django.links b/debian/python3-django.links
5deleted file mode 1006440deleted file mode 100644
index ef4f565..0000000
--- a/debian/python3-django.links
+++ /dev/null
@@ -1 +0,0 @@
1usr/lib/python3/dist-packages/django/bin/django-admin.py usr/bin/django-admin
diff --git a/debian/python3-django.lintian-overrides b/debian/python3-django.lintian-overrides
2deleted file mode 1006440deleted file mode 100644
index e03289e..0000000
--- a/debian/python3-django.lintian-overrides
+++ /dev/null
@@ -1,4 +0,0 @@
1# We ship upstream's comprehensive, referenced and hyperlinked upstream
2# changelog in python-django-doc which we would be doing a disservice to our
3# users by duplicating here.
4python3-django: no-upstream-changelog
diff --git a/debian/watch b/debian/watch
index a367f77..ee5eb0b 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,7 @@
1version=41version=4
2opts=filenamemangle=s/.*\/download\/(.*)\/tarball\//Django-$1.tar.gz/,uversionmangle=s/a(?=\d$)/alpha/;s/b(?=\d$)/beta/;s/(alpha|beta|rc)/~$1/ \2opts=filenamemangle=s/.*\/download\/(.*)\/tarball\//Django-$1.tar.gz/,uversionmangle=s/a(?=\d$)/alpha/;s/b(?=\d$)/beta/;s/(alpha|beta|rc)/~$1/ \
3<<<<<<< debian/watch
3 https://www.djangoproject.com/download/ .*/(2[^/]+)/tarball/4 https://www.djangoproject.com/download/ .*/(2[^/]+)/tarball/
5=======
6 https://www.djangoproject.com/download/ .*/(3[^/]+)/tarball/
7>>>>>>> debian/watch
diff --git a/django/__init__.py b/django/__init__.py
index 7963a36..dae16e0 100644
--- a/django/__init__.py
+++ b/django/__init__.py
@@ -1,6 +1,10 @@
1from django.utils.version import get_version1from django.utils.version import get_version
22
3<<<<<<< django/__init__.py
3VERSION = (2, 2, 24, 'final', 0)4VERSION = (2, 2, 24, 'final', 0)
5=======
6VERSION = (3, 2, 9, 'final', 0)
7>>>>>>> django/__init__.py
48
5__version__ = get_version(VERSION)9__version__ = get_version(VERSION)
610
diff --git a/django/apps/config.py b/django/apps/config.py
index f5c971f..bced53d 100644
--- a/django/apps/config.py
+++ b/django/apps/config.py
@@ -1,9 +1,14 @@
1import inspect
1import os2import os
3import warnings
2from importlib import import_module4from importlib import import_module
35
4from django.core.exceptions import ImproperlyConfigured6from django.core.exceptions import ImproperlyConfigured
5from django.utils.module_loading import module_has_submodule7from django.utils.deprecation import RemovedInDjango41Warning
8from django.utils.functional import cached_property
9from django.utils.module_loading import import_string, module_has_submodule
610
11APPS_MODULE_NAME = 'apps'
7MODELS_MODULE_NAME = 'models'12MODELS_MODULE_NAME = 'models'
813
914
@@ -29,6 +34,10 @@ class AppConfig:
29 # This value must be unique across a Django project.34 # This value must be unique across a Django project.
30 if not hasattr(self, 'label'):35 if not hasattr(self, 'label'):
31 self.label = app_name.rpartition(".")[2]36 self.label = app_name.rpartition(".")[2]
37 if not self.label.isidentifier():
38 raise ImproperlyConfigured(
39 "The app label '%s' is not a valid Python identifier." % self.label
40 )
3241
33 # Human-readable name for the application e.g. "Admin".42 # Human-readable name for the application e.g. "Admin".
34 if not hasattr(self, 'verbose_name'):43 if not hasattr(self, 'verbose_name'):
@@ -51,6 +60,15 @@ class AppConfig:
51 def __repr__(self):60 def __repr__(self):
52 return '<%s: %s>' % (self.__class__.__name__, self.label)61 return '<%s: %s>' % (self.__class__.__name__, self.label)
5362
63 @cached_property
64 def default_auto_field(self):
65 from django.conf import settings
66 return settings.DEFAULT_AUTO_FIELD
67
68 @property
69 def _is_default_auto_field_overridden(self):
70 return self.__class__.default_auto_field is not AppConfig.default_auto_field
71
54 def _path_from_module(self, module):72 def _path_from_module(self, module):
55 """Attempt to determine app's filesystem path from its module."""73 """Attempt to determine app's filesystem path from its module."""
56 # See #21874 for extended discussion of the behavior of this method in74 # See #21874 for extended discussion of the behavior of this method in
@@ -75,7 +93,7 @@ class AppConfig:
75 raise ImproperlyConfigured(93 raise ImproperlyConfigured(
76 "The app module %r has no filesystem location, "94 "The app module %r has no filesystem location, "
77 "you must configure this app with an AppConfig subclass "95 "you must configure this app with an AppConfig subclass "
78 "with a 'path' class attribute." % (module,))96 "with a 'path' class attribute." % module)
79 return paths[0]97 return paths[0]
8098
81 @classmethod99 @classmethod
@@ -83,73 +101,143 @@ class AppConfig:
83 """101 """
84 Factory that creates an app config from an entry in INSTALLED_APPS.102 Factory that creates an app config from an entry in INSTALLED_APPS.
85 """103 """
86 try:104 # create() eventually returns app_config_class(app_name, app_module).
87 # If import_module succeeds, entry is a path to an app module,105 app_config_class = None
88 # which may specify an app config class with default_app_config.106 app_config_name = None
89 # Otherwise, entry is a path to an app config class or an error.107 app_name = None
90 module = import_module(entry)108 app_module = None
91
92 except ImportError:
93 # Track that importing as an app module failed. If importing as an
94 # app config class fails too, we'll trigger the ImportError again.
95 module = None
96
97 mod_path, _, cls_name = entry.rpartition('.')
98
99 # Raise the original exception when entry cannot be a path to an
100 # app config class.
101 if not mod_path:
102 raise
103109
110 # If import_module succeeds, entry points to the app module.
111 try:
112 app_module = import_module(entry)
113 except Exception:
114 pass
104 else:115 else:
116 # If app_module has an apps submodule that defines a single
117 # AppConfig subclass, use it automatically.
118 # To prevent this, an AppConfig subclass can declare a class
119 # variable default = False.
120 # If the apps module defines more than one AppConfig subclass,
121 # the default one can declare default = True.
122 if module_has_submodule(app_module, APPS_MODULE_NAME):
123 mod_path = '%s.%s' % (entry, APPS_MODULE_NAME)
124 mod = import_module(mod_path)
125 # Check if there's exactly one AppConfig candidate,
126 # excluding those that explicitly define default = False.
127 app_configs = [
128 (name, candidate)
129 for name, candidate in inspect.getmembers(mod, inspect.isclass)
130 if (
131 issubclass(candidate, cls) and
132 candidate is not cls and
133 getattr(candidate, 'default', True)
134 )
135 ]
136 if len(app_configs) == 1:
137 app_config_class = app_configs[0][1]
138 app_config_name = '%s.%s' % (mod_path, app_configs[0][0])
139 else:
140 # Check if there's exactly one AppConfig subclass,
141 # among those that explicitly define default = True.
142 app_configs = [
143 (name, candidate)
144 for name, candidate in app_configs
145 if getattr(candidate, 'default', False)
146 ]
147 if len(app_configs) > 1:
148 candidates = [repr(name) for name, _ in app_configs]
149 raise RuntimeError(
150 '%r declares more than one default AppConfig: '
151 '%s.' % (mod_path, ', '.join(candidates))
152 )
153 elif len(app_configs) == 1:
154 app_config_class = app_configs[0][1]
155 app_config_name = '%s.%s' % (mod_path, app_configs[0][0])
156
157 # If app_module specifies a default_app_config, follow the link.
158 # default_app_config is deprecated, but still takes over the
159 # automatic detection for backwards compatibility during the
160 # deprecation period.
105 try:161 try:
106 # If this works, the app module specifies an app config class.162 new_entry = app_module.default_app_config
107 entry = module.default_app_config
108 except AttributeError:163 except AttributeError:
109 # Otherwise, it simply uses the default app config class.164 # Use the default app config class if we didn't find anything.
110 return cls(entry, module)165 if app_config_class is None:
166 app_config_class = cls
167 app_name = entry
111 else:168 else:
112 mod_path, _, cls_name = entry.rpartition('.')169 message = (
113170 '%r defines default_app_config = %r. ' % (entry, new_entry)
114 # If we're reaching this point, we must attempt to load the app config
115 # class located at <mod_path>.<cls_name>
116 mod = import_module(mod_path)
117 try:
118 cls = getattr(mod, cls_name)
119 except AttributeError:
120 if module is None:
121 # If importing as an app module failed, check if the module
122 # contains any valid AppConfigs and show them as choices.
123 # Otherwise, that error probably contains the most informative
124 # traceback, so trigger it again.
125 candidates = sorted(
126 repr(name) for name, candidate in mod.__dict__.items()
127 if isinstance(candidate, type) and
128 issubclass(candidate, AppConfig) and
129 candidate is not AppConfig
130 )171 )
131 if candidates:172 if new_entry == app_config_name:
132 raise ImproperlyConfigured(173 message += (
133 "'%s' does not contain a class '%s'. Choices are: %s."174 'Django now detects this configuration automatically. '
134 % (mod_path, cls_name, ', '.join(candidates))175 'You can remove default_app_config.'
135 )176 )
136 import_module(entry)177 else:
178 message += (
179 "However, Django's automatic detection %s. You should "
180 "move the default config class to the apps submodule "
181 "of your application and, if this module defines "
182 "several config classes, mark the default one with "
183 "default = True." % (
184 "picked another configuration, %r" % app_config_name
185 if app_config_name
186 else "did not find this configuration"
187 )
188 )
189 warnings.warn(message, RemovedInDjango41Warning, stacklevel=2)
190 entry = new_entry
191 app_config_class = None
192
193 # If import_string succeeds, entry is an app config class.
194 if app_config_class is None:
195 try:
196 app_config_class = import_string(entry)
197 except Exception:
198 pass
199 # If both import_module and import_string failed, it means that entry
200 # doesn't have a valid value.
201 if app_module is None and app_config_class is None:
202 # If the last component of entry starts with an uppercase letter,
203 # then it was likely intended to be an app config class; if not,
204 # an app module. Provide a nice error message in both cases.
205 mod_path, _, cls_name = entry.rpartition('.')
206 if mod_path and cls_name[0].isupper():
207 # We could simply re-trigger the string import exception, but
208 # we're going the extra mile and providing a better error
209 # message for typos in INSTALLED_APPS.
210 # This may raise ImportError, which is the best exception
211 # possible if the module at mod_path cannot be imported.
212 mod = import_module(mod_path)
213 candidates = [
214 repr(name)
215 for name, candidate in inspect.getmembers(mod, inspect.isclass)
216 if issubclass(candidate, cls) and candidate is not cls
217 ]
218 msg = "Module '%s' does not contain a '%s' class." % (mod_path, cls_name)
219 if candidates:
220 msg += ' Choices are: %s.' % ', '.join(candidates)
221 raise ImportError(msg)
137 else:222 else:
138 raise223 # Re-trigger the module import exception.
224 import_module(entry)
139225
140 # Check for obvious errors. (This check prevents duck typing, but226 # Check for obvious errors. (This check prevents duck typing, but
141 # it could be removed if it became a problem in practice.)227 # it could be removed if it became a problem in practice.)
142 if not issubclass(cls, AppConfig):228 if not issubclass(app_config_class, AppConfig):
143 raise ImproperlyConfigured(229 raise ImproperlyConfigured(
144 "'%s' isn't a subclass of AppConfig." % entry)230 "'%s' isn't a subclass of AppConfig." % entry)
145231
146 # Obtain app name here rather than in AppClass.__init__ to keep232 # Obtain app name here rather than in AppClass.__init__ to keep
147 # all error checking for entries in INSTALLED_APPS in one place.233 # all error checking for entries in INSTALLED_APPS in one place.
148 try:234 if app_name is None:
149 app_name = cls.name235 try:
150 except AttributeError:236 app_name = app_config_class.name
151 raise ImproperlyConfigured(237 except AttributeError:
152 "'%s' must supply a name attribute." % entry)238 raise ImproperlyConfigured(
239 "'%s' must supply a name attribute." % entry
240 )
153241
154 # Ensure app_name points to a valid module.242 # Ensure app_name points to a valid module.
155 try:243 try:
@@ -157,12 +245,14 @@ class AppConfig:
157 except ImportError:245 except ImportError:
158 raise ImproperlyConfigured(246 raise ImproperlyConfigured(
159 "Cannot import '%s'. Check that '%s.%s.name' is correct." % (247 "Cannot import '%s'. Check that '%s.%s.name' is correct." % (
160 app_name, mod_path, cls_name,248 app_name,
249 app_config_class.__module__,
250 app_config_class.__qualname__,
161 )251 )
162 )252 )
163253
164 # Entry is a path to an app config class.254 # Entry is a path to an app config class.
165 return cls(app_name, app_module)255 return app_config_class(app_name, app_module)
166256
167 def get_model(self, model_name, require_ready=True):257 def get_model(self, model_name, require_ready=True):
168 """258 """
diff --git a/django/apps/registry.py b/django/apps/registry.py
index 234a830..62650ca 100644
--- a/django/apps/registry.py
+++ b/django/apps/registry.py
@@ -2,7 +2,7 @@ import functools
2import sys2import sys
3import threading3import threading
4import warnings4import warnings
5from collections import Counter, OrderedDict, defaultdict5from collections import Counter, defaultdict
6from functools import partial6from functools import partial
77
8from django.core.exceptions import AppRegistryNotReady, ImproperlyConfigured8from django.core.exceptions import AppRegistryNotReady, ImproperlyConfigured
@@ -31,10 +31,10 @@ class Apps:
31 # and whether the registry has been populated. Since it isn't possible31 # and whether the registry has been populated. Since it isn't possible
32 # to reimport a module safely (it could reexecute initialization code)32 # to reimport a module safely (it could reexecute initialization code)
33 # all_models is never overridden or reset.33 # all_models is never overridden or reset.
34 self.all_models = defaultdict(OrderedDict)34 self.all_models = defaultdict(dict)
3535
36 # Mapping of labels to AppConfig instances for installed apps.36 # Mapping of labels to AppConfig instances for installed apps.
37 self.app_configs = OrderedDict()37 self.app_configs = {}
3838
39 # Stack of app_configs. Used to store the current state in39 # Stack of app_configs. Used to store the current state in
40 # set_available_apps and set_installed_apps.40 # set_available_apps and set_installed_apps.
@@ -128,6 +128,7 @@ class Apps:
128 """Raise an exception if all apps haven't been imported yet."""128 """Raise an exception if all apps haven't been imported yet."""
129 if not self.apps_ready:129 if not self.apps_ready:
130 from django.conf import settings130 from django.conf import settings
131
131 # If "not ready" is due to unconfigured settings, accessing132 # If "not ready" is due to unconfigured settings, accessing
132 # INSTALLED_APPS raises a more helpful ImproperlyConfigured133 # INSTALLED_APPS raises a more helpful ImproperlyConfigured
133 # exception.134 # exception.
@@ -316,10 +317,11 @@ class Apps:
316 )317 )
317318
318 self.stored_app_configs.append(self.app_configs)319 self.stored_app_configs.append(self.app_configs)
319 self.app_configs = OrderedDict(320 self.app_configs = {
320 (label, app_config)321 label: app_config
321 for label, app_config in self.app_configs.items()322 for label, app_config in self.app_configs.items()
322 if app_config.name in available)323 if app_config.name in available
324 }
323 self.clear_cache()325 self.clear_cache()
324326
325 def unset_available_apps(self):327 def unset_available_apps(self):
@@ -347,7 +349,7 @@ class Apps:
347 if not self.ready:349 if not self.ready:
348 raise AppRegistryNotReady("App registry isn't ready yet.")350 raise AppRegistryNotReady("App registry isn't ready yet.")
349 self.stored_app_configs.append(self.app_configs)351 self.stored_app_configs.append(self.app_configs)
350 self.app_configs = OrderedDict()352 self.app_configs = {}
351 self.apps_ready = self.models_ready = self.loading = self.ready = False353 self.apps_ready = self.models_ready = self.loading = self.ready = False
352 self.clear_cache()354 self.clear_cache()
353 self.populate(installed)355 self.populate(installed)
diff --git a/django/bin/django-admin.py b/django/bin/django-admin.py
index f518cdc..594b0f1 100755
--- a/django/bin/django-admin.py
+++ b/django/bin/django-admin.py
@@ -1,5 +1,21 @@
1#!/usr/bin/env python1#!/usr/bin/env python
2# When the django-admin.py deprecation ends, remove this script.
3import warnings
4
2from django.core import management5from django.core import management
36
7try:
8 from django.utils.deprecation import RemovedInDjango40Warning
9except ImportError:
10 raise ImportError(
11 'django-admin.py was deprecated in Django 3.1 and removed in Django '
12 '4.0. Please manually remove this script from your virtual environment '
13 'and use django-admin instead.'
14 )
15
4if __name__ == "__main__":16if __name__ == "__main__":
17 warnings.warn(
18 'django-admin.py is deprecated in favor of django-admin.',
19 RemovedInDjango40Warning,
20 )
5 management.execute_from_command_line()21 management.execute_from_command_line()
diff --git a/django/conf/__init__.py b/django/conf/__init__.py
index cf91ce8..2830244 100644
--- a/django/conf/__init__.py
+++ b/django/conf/__init__.py
@@ -16,17 +16,20 @@ from pathlib import Path
16import django16import django
17from django.conf import global_settings17from django.conf import global_settings
18from django.core.exceptions import ImproperlyConfigured18from django.core.exceptions import ImproperlyConfigured
19from django.utils.deprecation import (19from django.utils.deprecation import RemovedInDjango40Warning
20 RemovedInDjango30Warning, RemovedInDjango31Warning,
21)
22from django.utils.functional import LazyObject, empty20from django.utils.functional import LazyObject, empty
2321
24ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE"22ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE"
2523
26DEFAULT_CONTENT_TYPE_DEPRECATED_MSG = 'The DEFAULT_CONTENT_TYPE setting is deprecated.'24PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG = (
27FILE_CHARSET_DEPRECATED_MSG = (25 'The PASSWORD_RESET_TIMEOUT_DAYS setting is deprecated. Use '
28 'The FILE_CHARSET setting is deprecated. Starting with Django 3.1, all '26 'PASSWORD_RESET_TIMEOUT instead.'
29 'files read from disk must be UTF-8 encoded.'27)
28
29DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG = (
30 'The DEFAULT_HASHING_ALGORITHM transitional setting is deprecated. '
31 'Support for it and tokens, cookies, sessions, and signatures that use '
32 'SHA-1 hashing algorithm will be removed in Django 4.0.'
30)33)
3134
3235
@@ -78,6 +81,14 @@ class LazySettings(LazyObject):
78 if self._wrapped is empty:81 if self._wrapped is empty:
79 self._setup(name)82 self._setup(name)
80 val = getattr(self._wrapped, name)83 val = getattr(self._wrapped, name)
84
85 # Special case some settings which require further modification.
86 # This is done here for performance reasons so the modified value is cached.
87 if name in {'MEDIA_URL', 'STATIC_URL'} and val is not None:
88 val = self._add_script_prefix(val)
89 elif name == 'SECRET_KEY' and not val:
90 raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
91
81 self.__dict__[name] = val92 self.__dict__[name] = val
82 return val93 return val
8394
@@ -107,41 +118,43 @@ class LazySettings(LazyObject):
107 raise RuntimeError('Settings already configured.')118 raise RuntimeError('Settings already configured.')
108 holder = UserSettingsHolder(default_settings)119 holder = UserSettingsHolder(default_settings)
109 for name, value in options.items():120 for name, value in options.items():
121 if not name.isupper():
122 raise TypeError('Setting %r must be uppercase.' % name)
110 setattr(holder, name, value)123 setattr(holder, name, value)
111 self._wrapped = holder124 self._wrapped = holder
112125
126 @staticmethod
127 def _add_script_prefix(value):
128 """
129 Add SCRIPT_NAME prefix to relative paths.
130
131 Useful when the app is being served at a subpath and manually prefixing
132 subpath to STATIC_URL and MEDIA_URL in settings is inconvenient.
133 """
134 # Don't apply prefix to absolute paths and URLs.
135 if value.startswith(('http://', 'https://', '/')):
136 return value
137 from django.urls import get_script_prefix
138 return '%s%s' % (get_script_prefix(), value)
139
113 @property140 @property
114 def configured(self):141 def configured(self):
115 """Return True if the settings have already been configured."""142 """Return True if the settings have already been configured."""
116 return self._wrapped is not empty143 return self._wrapped is not empty
117144
118 @property145 @property
119 def DEFAULT_CONTENT_TYPE(self):146 def PASSWORD_RESET_TIMEOUT_DAYS(self):
120 stack = traceback.extract_stack()147 stack = traceback.extract_stack()
121 # Show a warning if the setting is used outside of Django.148 # Show a warning if the setting is used outside of Django.
122 # Stack index: -1 this line, -2 the caller.149 # Stack index: -1 this line, -2 the caller.
123 filename, _line_number, _function_name, _text = stack[-2]150 filename, _, _, _ = stack[-2]
124 if not filename.startswith(os.path.dirname(django.__file__)):151 if not filename.startswith(os.path.dirname(django.__file__)):
125 warnings.warn(152 warnings.warn(
126 DEFAULT_CONTENT_TYPE_DEPRECATED_MSG,153 PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG,
127 RemovedInDjango30Warning,154 RemovedInDjango40Warning,
128 stacklevel=2,155 stacklevel=2,
129 )156 )
130 return self.__getattr__('DEFAULT_CONTENT_TYPE')157 return self.__getattr__('PASSWORD_RESET_TIMEOUT_DAYS')
131
132 @property
133 def FILE_CHARSET(self):
134 stack = traceback.extract_stack()
135 # Show a warning if the setting is used outside of Django.
136 # Stack index: -1 this line, -2 the caller.
137 filename, _line_number, _function_name, _text = stack[-2]
138 if not filename.startswith(os.path.dirname(django.__file__)):
139 warnings.warn(
140 FILE_CHARSET_DEPRECATED_MSG,
141 RemovedInDjango31Warning,
142 stacklevel=2,
143 )
144 return self.__getattr__('FILE_CHARSET')
145158
146159
147class Settings:160class Settings:
@@ -172,13 +185,17 @@ class Settings:
172 setattr(self, setting, setting_value)185 setattr(self, setting, setting_value)
173 self._explicit_settings.add(setting)186 self._explicit_settings.add(setting)
174187
175 if not self.SECRET_KEY:188 if self.is_overridden('PASSWORD_RESET_TIMEOUT_DAYS'):
176 raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")189 if self.is_overridden('PASSWORD_RESET_TIMEOUT'):
190 raise ImproperlyConfigured(
191 'PASSWORD_RESET_TIMEOUT_DAYS/PASSWORD_RESET_TIMEOUT are '
192 'mutually exclusive.'
193 )
194 setattr(self, 'PASSWORD_RESET_TIMEOUT', self.PASSWORD_RESET_TIMEOUT_DAYS * 60 * 60 * 24)
195 warnings.warn(PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG, RemovedInDjango40Warning)
177196
178 if self.is_overridden('DEFAULT_CONTENT_TYPE'):197 if self.is_overridden('DEFAULT_HASHING_ALGORITHM'):
179 warnings.warn(DEFAULT_CONTENT_TYPE_DEPRECATED_MSG, RemovedInDjango30Warning)198 warnings.warn(DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG, RemovedInDjango40Warning)
180 if self.is_overridden('FILE_CHARSET'):
181 warnings.warn(FILE_CHARSET_DEPRECATED_MSG, RemovedInDjango31Warning)
182199
183 if hasattr(time, 'tzset') and self.TIME_ZONE:200 if hasattr(time, 'tzset') and self.TIME_ZONE:
184 # When we can, attempt to validate the timezone. If we can't find201 # When we can, attempt to validate the timezone. If we can't find
@@ -217,16 +234,17 @@ class UserSettingsHolder:
217 self.default_settings = default_settings234 self.default_settings = default_settings
218235
219 def __getattr__(self, name):236 def __getattr__(self, name):
220 if name in self._deleted:237 if not name.isupper() or name in self._deleted:
221 raise AttributeError238 raise AttributeError
222 return getattr(self.default_settings, name)239 return getattr(self.default_settings, name)
223240
224 def __setattr__(self, name, value):241 def __setattr__(self, name, value):
225 self._deleted.discard(name)242 self._deleted.discard(name)
226 if name == 'DEFAULT_CONTENT_TYPE':243 if name == 'PASSWORD_RESET_TIMEOUT_DAYS':
227 warnings.warn(DEFAULT_CONTENT_TYPE_DEPRECATED_MSG, RemovedInDjango30Warning)244 setattr(self, 'PASSWORD_RESET_TIMEOUT', value * 60 * 60 * 24)
228 elif name == 'FILE_CHARSET':245 warnings.warn(PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG, RemovedInDjango40Warning)
229 warnings.warn(FILE_CHARSET_DEPRECATED_MSG, RemovedInDjango31Warning)246 if name == 'DEFAULT_HASHING_ALGORITHM':
247 warnings.warn(DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG, RemovedInDjango40Warning)
230 super().__setattr__(name, value)248 super().__setattr__(name, value)
231249
232 def __delattr__(self, name):250 def __delattr__(self, name):
diff --git a/django/conf/app_template/apps.py-tpl b/django/conf/app_template/apps.py-tpl
index 9b2ce52..b705352 100644
--- a/django/conf/app_template/apps.py-tpl
+++ b/django/conf/app_template/apps.py-tpl
@@ -2,4 +2,5 @@ from django.apps import AppConfig
22
33
4class {{ camel_case_app_name }}Config(AppConfig):4class {{ camel_case_app_name }}Config(AppConfig):
5 default_auto_field = 'django.db.models.BigAutoField'
5 name = '{{ app_name }}'6 name = '{{ app_name }}'
diff --git a/django/conf/global_settings.py b/django/conf/global_settings.py
index f3abfad..cf9fae4 100644
--- a/django/conf/global_settings.py
+++ b/django/conf/global_settings.py
@@ -51,6 +51,7 @@ LANGUAGE_CODE = 'en-us'
51LANGUAGES = [51LANGUAGES = [
52 ('af', gettext_noop('Afrikaans')),52 ('af', gettext_noop('Afrikaans')),
53 ('ar', gettext_noop('Arabic')),53 ('ar', gettext_noop('Arabic')),
54 ('ar-dz', gettext_noop('Algerian Arabic')),
54 ('ast', gettext_noop('Asturian')),55 ('ast', gettext_noop('Asturian')),
55 ('az', gettext_noop('Azerbaijani')),56 ('az', gettext_noop('Azerbaijani')),
56 ('bg', gettext_noop('Bulgarian')),57 ('bg', gettext_noop('Bulgarian')),
@@ -92,6 +93,7 @@ LANGUAGES = [
92 ('hy', gettext_noop('Armenian')),93 ('hy', gettext_noop('Armenian')),
93 ('ia', gettext_noop('Interlingua')),94 ('ia', gettext_noop('Interlingua')),
94 ('id', gettext_noop('Indonesian')),95 ('id', gettext_noop('Indonesian')),
96 ('ig', gettext_noop('Igbo')),
95 ('io', gettext_noop('Ido')),97 ('io', gettext_noop('Ido')),
96 ('is', gettext_noop('Icelandic')),98 ('is', gettext_noop('Icelandic')),
97 ('it', gettext_noop('Italian')),99 ('it', gettext_noop('Italian')),
@@ -102,6 +104,7 @@ LANGUAGES = [
102 ('km', gettext_noop('Khmer')),104 ('km', gettext_noop('Khmer')),
103 ('kn', gettext_noop('Kannada')),105 ('kn', gettext_noop('Kannada')),
104 ('ko', gettext_noop('Korean')),106 ('ko', gettext_noop('Korean')),
107 ('ky', gettext_noop('Kyrgyz')),
105 ('lb', gettext_noop('Luxembourgish')),108 ('lb', gettext_noop('Luxembourgish')),
106 ('lt', gettext_noop('Lithuanian')),109 ('lt', gettext_noop('Lithuanian')),
107 ('lv', gettext_noop('Latvian')),110 ('lv', gettext_noop('Latvian')),
@@ -130,19 +133,22 @@ LANGUAGES = [
130 ('sw', gettext_noop('Swahili')),133 ('sw', gettext_noop('Swahili')),
131 ('ta', gettext_noop('Tamil')),134 ('ta', gettext_noop('Tamil')),
132 ('te', gettext_noop('Telugu')),135 ('te', gettext_noop('Telugu')),
136 ('tg', gettext_noop('Tajik')),
133 ('th', gettext_noop('Thai')),137 ('th', gettext_noop('Thai')),
138 ('tk', gettext_noop('Turkmen')),
134 ('tr', gettext_noop('Turkish')),139 ('tr', gettext_noop('Turkish')),
135 ('tt', gettext_noop('Tatar')),140 ('tt', gettext_noop('Tatar')),
136 ('udm', gettext_noop('Udmurt')),141 ('udm', gettext_noop('Udmurt')),
137 ('uk', gettext_noop('Ukrainian')),142 ('uk', gettext_noop('Ukrainian')),
138 ('ur', gettext_noop('Urdu')),143 ('ur', gettext_noop('Urdu')),
144 ('uz', gettext_noop('Uzbek')),
139 ('vi', gettext_noop('Vietnamese')),145 ('vi', gettext_noop('Vietnamese')),
140 ('zh-hans', gettext_noop('Simplified Chinese')),146 ('zh-hans', gettext_noop('Simplified Chinese')),
141 ('zh-hant', gettext_noop('Traditional Chinese')),147 ('zh-hant', gettext_noop('Traditional Chinese')),
142]148]
143149
144# Languages using BiDi (right-to-left) layout150# Languages using BiDi (right-to-left) layout
145LANGUAGES_BIDI = ["he", "ar", "fa", "ur"]151LANGUAGES_BIDI = ["he", "ar", "ar-dz", "fa", "ur"]
146152
147# If you set this to False, Django will make some optimizations so as not153# If you set this to False, Django will make some optimizations so as not
148# to load the internationalization machinery.154# to load the internationalization machinery.
@@ -154,6 +160,9 @@ LANGUAGE_COOKIE_NAME = 'django_language'
154LANGUAGE_COOKIE_AGE = None160LANGUAGE_COOKIE_AGE = None
155LANGUAGE_COOKIE_DOMAIN = None161LANGUAGE_COOKIE_DOMAIN = None
156LANGUAGE_COOKIE_PATH = '/'162LANGUAGE_COOKIE_PATH = '/'
163LANGUAGE_COOKIE_SECURE = False
164LANGUAGE_COOKIE_HTTPONLY = False
165LANGUAGE_COOKIE_SAMESITE = None
157166
158167
159# If you set this to True, Django will format dates, numbers and calendars168# If you set this to True, Django will format dates, numbers and calendars
@@ -164,15 +173,10 @@ USE_L10N = False
164# notifications and other various emails.173# notifications and other various emails.
165MANAGERS = ADMINS174MANAGERS = ADMINS
166175
167# Default content type and charset to use for all HttpResponse objects, if a176# Default charset to use for all HttpResponse objects, if a MIME type isn't
168# MIME type isn't manually specified. These are used to construct the177# manually specified. It's used to construct the Content-Type header.
169# Content-Type header.
170DEFAULT_CONTENT_TYPE = 'text/html'
171DEFAULT_CHARSET = 'utf-8'178DEFAULT_CHARSET = 'utf-8'
172179
173# Encoding of files read from disk (template and initial SQL files).
174FILE_CHARSET = 'utf-8'
175
176# Email address that error messages come from.180# Email address that error messages come from.
177SERVER_EMAIL = 'root@localhost'181SERVER_EMAIL = 'root@localhost'
178182
@@ -306,7 +310,7 @@ FILE_UPLOAD_TEMP_DIR = None
306310
307# The numeric mode to set newly-uploaded files to. The value should be a mode311# The numeric mode to set newly-uploaded files to. The value should be a mode
308# you'd pass directly to os.chmod; see https://docs.python.org/library/os.html#files-and-directories.312# you'd pass directly to os.chmod; see https://docs.python.org/library/os.html#files-and-directories.
309FILE_UPLOAD_PERMISSIONS = None313FILE_UPLOAD_PERMISSIONS = 0o644
310314
311# The numeric mode to assign to newly-created directories, when uploading files.315# The numeric mode to assign to newly-created directories, when uploading files.
312# The value should be a mode as you'd pass to os.chmod;316# The value should be a mode as you'd pass to os.chmod;
@@ -381,15 +385,12 @@ DATETIME_INPUT_FORMATS = [
381 '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'385 '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
382 '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'386 '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
383 '%Y-%m-%d %H:%M', # '2006-10-25 14:30'387 '%Y-%m-%d %H:%M', # '2006-10-25 14:30'
384 '%Y-%m-%d', # '2006-10-25'
385 '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'388 '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
386 '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'389 '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
387 '%m/%d/%Y %H:%M', # '10/25/2006 14:30'390 '%m/%d/%Y %H:%M', # '10/25/2006 14:30'
388 '%m/%d/%Y', # '10/25/2006'
389 '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'391 '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
390 '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'392 '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
391 '%m/%d/%y %H:%M', # '10/25/06 14:30'393 '%m/%d/%y %H:%M', # '10/25/06 14:30'
392 '%m/%d/%y', # '10/25/06'
393]394]
394395
395# First day of week, to be used on calendars396# First day of week, to be used on calendars
@@ -413,8 +414,11 @@ THOUSAND_SEPARATOR = ','
413DEFAULT_TABLESPACE = ''414DEFAULT_TABLESPACE = ''
414DEFAULT_INDEX_TABLESPACE = ''415DEFAULT_INDEX_TABLESPACE = ''
415416
417# Default primary key field type.
418DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
419
416# Default X-Frame-Options header value420# Default X-Frame-Options header value
417X_FRAME_OPTIONS = 'SAMEORIGIN'421X_FRAME_OPTIONS = 'DENY'
418422
419USE_X_FORWARDED_HOST = False423USE_X_FORWARDED_HOST = False
420USE_X_FORWARDED_PORT = False424USE_X_FORWARDED_PORT = False
@@ -435,6 +439,12 @@ WSGI_APPLICATION = None
435# you may be opening yourself up to a security risk.439# you may be opening yourself up to a security risk.
436SECURE_PROXY_SSL_HEADER = None440SECURE_PROXY_SSL_HEADER = None
437441
442# Default hashing algorithm to use for encoding cookies, password reset tokens
443# in the admin site, user sessions, and signatures. It's a transitional setting
444# helpful in migrating multiple instance of the same project to Django 3.1+.
445# Algorithm must be 'sha1' or 'sha256'.
446DEFAULT_HASHING_ALGORITHM = 'sha256'
447
438##############448##############
439# MIDDLEWARE #449# MIDDLEWARE #
440##############450##############
@@ -463,7 +473,7 @@ SESSION_COOKIE_PATH = '/'
463# Whether to use the HttpOnly flag.473# Whether to use the HttpOnly flag.
464SESSION_COOKIE_HTTPONLY = True474SESSION_COOKIE_HTTPONLY = True
465# Whether to set the flag restricting cookie leaks on cross-site requests.475# Whether to set the flag restricting cookie leaks on cross-site requests.
466# This can be 'Lax', 'Strict', or None to disable the flag.476# This can be 'Lax', 'Strict', 'None', or False to disable the flag.
467SESSION_COOKIE_SAMESITE = 'Lax'477SESSION_COOKIE_SAMESITE = 'Lax'
468# Whether to save the session data on every request.478# Whether to save the session data on every request.
469SESSION_SAVE_EVERY_REQUEST = False479SESSION_SAVE_EVERY_REQUEST = False
@@ -508,6 +518,9 @@ LOGOUT_REDIRECT_URL = None
508# The number of days a password reset link is valid for518# The number of days a password reset link is valid for
509PASSWORD_RESET_TIMEOUT_DAYS = 3519PASSWORD_RESET_TIMEOUT_DAYS = 3
510520
521# The number of seconds a password reset link is valid for (default: 3 days).
522PASSWORD_RESET_TIMEOUT = 60 * 60 * 24 * 3
523
511# the first hasher in this list is the preferred algorithm. any524# the first hasher in this list is the preferred algorithm. any
512# password using different algorithms will be converted automatically525# password using different algorithms will be converted automatically
513# upon login526# upon login
@@ -566,6 +579,10 @@ LOGGING_CONFIG = 'logging.config.dictConfig'
566# Custom logging configuration.579# Custom logging configuration.
567LOGGING = {}580LOGGING = {}
568581
582# Default exception reporter class used in case none has been
583# specifically assigned to the HttpRequest instance.
584DEFAULT_EXCEPTION_REPORTER = 'django.views.debug.ExceptionReporter'
585
569# Default exception reporter filter class used in case none has been586# Default exception reporter filter class used in case none has been
570# specifically assigned to the HttpRequest instance.587# specifically assigned to the HttpRequest instance.
571DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'588DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
@@ -627,10 +644,11 @@ SILENCED_SYSTEM_CHECKS = []
627# SECURITY MIDDLEWARE #644# SECURITY MIDDLEWARE #
628#######################645#######################
629SECURE_BROWSER_XSS_FILTER = False646SECURE_BROWSER_XSS_FILTER = False
630SECURE_CONTENT_TYPE_NOSNIFF = False647SECURE_CONTENT_TYPE_NOSNIFF = True
631SECURE_HSTS_INCLUDE_SUBDOMAINS = False648SECURE_HSTS_INCLUDE_SUBDOMAINS = False
632SECURE_HSTS_PRELOAD = False649SECURE_HSTS_PRELOAD = False
633SECURE_HSTS_SECONDS = 0650SECURE_HSTS_SECONDS = 0
634SECURE_REDIRECT_EXEMPT = []651SECURE_REDIRECT_EXEMPT = []
652SECURE_REFERRER_POLICY = 'same-origin'
635SECURE_SSL_HOST = None653SECURE_SSL_HOST = None
636SECURE_SSL_REDIRECT = False654SECURE_SSL_REDIRECT = False
diff --git a/django/conf/locale/__init__.py b/django/conf/locale/__init__.py
index 720045d..6285f20 100644
--- a/django/conf/locale/__init__.py
+++ b/django/conf/locale/__init__.py
@@ -20,6 +20,12 @@ LANG_INFO = {
20 'name': 'Arabic',20 'name': 'Arabic',
21 'name_local': 'العربيّة',21 'name_local': 'العربيّة',
22 },22 },
23 'ar-dz': {
24 'bidi': True,
25 'code': 'ar-dz',
26 'name': 'Algerian Arabic',
27 'name_local': 'العربية الجزائرية',
28 },
23 'ast': {29 'ast': {
24 'bidi': False,30 'bidi': False,
25 'code': 'ast',31 'code': 'ast',
@@ -228,7 +234,7 @@ LANG_INFO = {
228 'bidi': False,234 'bidi': False,
229 'code': 'hi',235 'code': 'hi',
230 'name': 'Hindi',236 'name': 'Hindi',
231 'name_local': 'Hindi',237 'name_local': 'हिंदी',
232 },238 },
233 'hr': {239 'hr': {
234 'bidi': False,240 'bidi': False,
@@ -272,6 +278,12 @@ LANG_INFO = {
272 'name': 'Indonesian',278 'name': 'Indonesian',
273 'name_local': 'Bahasa Indonesia',279 'name_local': 'Bahasa Indonesia',
274 },280 },
281 'ig': {
282 'bidi': False,
283 'code': 'ig',
284 'name': 'Igbo',
285 'name_local': 'Asụsụ Ìgbò',
286 },
275 'is': {287 'is': {
276 'bidi': False,288 'bidi': False,
277 'code': 'is',289 'code': 'is',
@@ -326,6 +338,12 @@ LANG_INFO = {
326 'name': 'Korean',338 'name': 'Korean',
327 'name_local': '한국어',339 'name_local': '한국어',
328 },340 },
341 'ky': {
342 'bidi': False,
343 'code': 'ky',
344 'name': 'Kyrgyz',
345 'name_local': 'Кыргызча',
346 },
329 'lb': {347 'lb': {
330 'bidi': False,348 'bidi': False,
331 'code': 'lb',349 'code': 'lb',
@@ -354,7 +372,7 @@ LANG_INFO = {
354 'bidi': False,372 'bidi': False,
355 'code': 'ml',373 'code': 'ml',
356 'name': 'Malayalam',374 'name': 'Malayalam',
357 'name_local': 'Malayalam',375 'name_local': 'മലയാളം',
358 },376 },
359 'mn': {377 'mn': {
360 'bidi': False,378 'bidi': False,
@@ -500,12 +518,24 @@ LANG_INFO = {
500 'name': 'Telugu',518 'name': 'Telugu',
501 'name_local': 'తెలుగు',519 'name_local': 'తెలుగు',
502 },520 },
521 'tg': {
522 'bidi': False,
523 'code': 'tg',
524 'name': 'Tajik',
525 'name_local': 'тоҷикӣ',
526 },
503 'th': {527 'th': {
504 'bidi': False,528 'bidi': False,
505 'code': 'th',529 'code': 'th',
506 'name': 'Thai',530 'name': 'Thai',
507 'name_local': 'ภาษาไทย',531 'name_local': 'ภาษาไทย',
508 },532 },
533 'tk': {
534 'bidi': False,
535 'code': 'tk',
536 'name': 'Turkmen',
537 'name_local': 'Türkmençe',
538 },
509 'tr': {539 'tr': {
510 'bidi': False,540 'bidi': False,
511 'code': 'tr',541 'code': 'tr',
@@ -536,6 +566,12 @@ LANG_INFO = {
536 'name': 'Urdu',566 'name': 'Urdu',
537 'name_local': 'اردو',567 'name_local': 'اردو',
538 },568 },
569 'uz': {
570 'bidi': False,
571 'code': 'uz',
572 'name': 'Uzbek',
573 'name_local': 'oʻzbek tili',
574 },
539 'vi': {575 'vi': {
540 'bidi': False,576 'bidi': False,
541 'code': 'vi',577 'code': 'vi',
diff --git a/django/conf/locale/af/LC_MESSAGES/django.mo b/django/conf/locale/af/LC_MESSAGES/django.mo
index ea048a7..5da1748 100644
542Binary files a/django/conf/locale/af/LC_MESSAGES/django.mo and b/django/conf/locale/af/LC_MESSAGES/django.mo differ578Binary files a/django/conf/locale/af/LC_MESSAGES/django.mo and b/django/conf/locale/af/LC_MESSAGES/django.mo differ
diff --git a/django/conf/locale/af/LC_MESSAGES/django.po b/django/conf/locale/af/LC_MESSAGES/django.po
index f85a36d..f7084ad 100644
--- a/django/conf/locale/af/LC_MESSAGES/django.po
+++ b/django/conf/locale/af/LC_MESSAGES/django.po
@@ -1,16 +1,16 @@
1# This file is distributed under the same license as the Django package.1# This file is distributed under the same license as the Django package.
2#2#
3# Translators:3# Translators:
4# F Wolff <friedel@translate.org.za>, 20194# F Wolff <friedel@translate.org.za>, 2019-2020
5# Stephen Cox <stephencoxmail@gmail.com>, 2011-20125# Stephen Cox <stephencoxmail@gmail.com>, 2011-2012
6# unklphil <villiers.strauss@gmail.com>, 2014,20196# unklphil <villiers.strauss@gmail.com>, 2014,2019
7msgid ""7msgid ""
8msgstr ""8msgstr ""
9"Project-Id-Version: django\n"9"Project-Id-Version: django\n"
10"Report-Msgid-Bugs-To: \n"10"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2019-01-16 20:42+0100\n"11"POT-Creation-Date: 2020-05-19 20:23+0200\n"
12"PO-Revision-Date: 2019-02-18 22:37+0000\n"12"PO-Revision-Date: 2020-07-20 19:37+0000\n"
13"Last-Translator: unklphil <villiers.strauss@gmail.com>\n"13"Last-Translator: F Wolff <friedel@translate.org.za>\n"
14"Language-Team: Afrikaans (http://www.transifex.com/django/django/language/"14"Language-Team: Afrikaans (http://www.transifex.com/django/django/language/"
15"af/)\n"15"af/)\n"
16"MIME-Version: 1.0\n"16"MIME-Version: 1.0\n"
@@ -25,6 +25,9 @@ msgstr "Afrikaans"
25msgid "Arabic"25msgid "Arabic"
26msgstr "Arabies"26msgstr "Arabies"
2727
28msgid "Algerian Arabic"
29msgstr ""
30
28msgid "Asturian"31msgid "Asturian"
29msgstr "Asturies"32msgstr "Asturies"
3033
@@ -148,6 +151,9 @@ msgstr "Interlingua"
148msgid "Indonesian"151msgid "Indonesian"
149msgstr "Indonesies"152msgstr "Indonesies"
150153
154msgid "Igbo"
155msgstr ""
156
151msgid "Ido"157msgid "Ido"
152msgstr "Ido"158msgstr "Ido"
153159
@@ -178,6 +184,9 @@ msgstr "Kannada"
178msgid "Korean"184msgid "Korean"
179msgstr "Koreaans"185msgstr "Koreaans"
180186
187msgid "Kyrgyz"
188msgstr ""
189
181msgid "Luxembourgish"190msgid "Luxembourgish"
182msgstr "Luxemburgs"191msgstr "Luxemburgs"
183192
@@ -262,9 +271,15 @@ msgstr "Tamil"
262msgid "Telugu"271msgid "Telugu"
263msgstr "Teloegoe"272msgstr "Teloegoe"
264273
274msgid "Tajik"
275msgstr ""
276
265msgid "Thai"277msgid "Thai"
266msgstr "Thai"278msgstr "Thai"
267279
280msgid "Turkmen"
281msgstr ""
282
268msgid "Turkish"283msgid "Turkish"
269msgstr "Turks"284msgstr "Turks"
270285
@@ -280,6 +295,9 @@ msgstr "Oekraïens"
280msgid "Urdu"295msgid "Urdu"
281msgstr "Oerdoe"296msgstr "Oerdoe"
282297
298msgid "Uzbek"
299msgstr "Oesbekies "
300
283msgid "Vietnamese"301msgid "Vietnamese"
284msgstr "Viëtnamees"302msgstr "Viëtnamees"
285303
@@ -324,17 +342,13 @@ msgstr "Gee ’n geldige e-posadres."
324342
325#. Translators: "letters" means latin letters: a-z and A-Z.343#. Translators: "letters" means latin letters: a-z and A-Z.
326msgid ""344msgid ""
327"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens."345"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens."
328msgstr ""346msgstr ""
329"Gee ’n geldige \"slak\" in wat bestaan ​​uit letters, syfers, onderstreep of "
330"koppelteken."
331347
332msgid ""348msgid ""
333"Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or "349"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or "
334"hyphens."350"hyphens."
335msgstr ""351msgstr ""
336"Gee ’n geldige “slak” in wat bestaan ​​uit Unicode-letters, syfers, "
337"onderstreep of koppelteken."
338352
339msgid "Enter a valid IPv4 address."353msgid "Enter a valid IPv4 address."
340msgstr "Gee ’n geldige IPv4-adres."354msgstr "Gee ’n geldige IPv4-adres."
@@ -416,11 +430,9 @@ msgstr[1] ""
416430
417#, python-format431#, python-format
418msgid ""432msgid ""
419"File extension '%(extension)s' is not allowed. Allowed extensions are: "433"File extension “%(extension)s” is not allowed. Allowed extensions are: "
420"'%(allowed_extensions)s'."434"%(allowed_extensions)s."
421msgstr ""435msgstr ""
422"Lêeruitbreiding “%(extension)s” word nie toegelaat nie. Toegelate "
423"uitbreidings is: “%(allowed_extensions)s”."
424436
425msgid "Null characters are not allowed."437msgid "Null characters are not allowed."
426msgstr "Nul-karakters word nie toegelaat nie."438msgstr "Nul-karakters word nie toegelaat nie."
@@ -458,23 +470,13 @@ msgstr ""
458msgid "Field of type: %(field_type)s"470msgid "Field of type: %(field_type)s"
459msgstr "Veld van tipe: %(field_type)s "471msgstr "Veld van tipe: %(field_type)s "
460472
461msgid "Integer"
462msgstr "Heelgetal"
463
464#, python-format
465msgid "'%(value)s' value must be an integer."
466msgstr "Die waarde “%(value)s” moet ’n heelgetal wees."
467
468msgid "Big (8 byte) integer"
469msgstr "Groot (8 greep) heelgetal"
470
471#, python-format473#, python-format
472msgid "'%(value)s' value must be either True or False."474msgid "“%(value)s” value must be either True or False."
473msgstr "Die waarde “%(value)s” moet óf True (waar) óf False (vals) wees."475msgstr ""
474476
475#, python-format477#, python-format
476msgid "'%(value)s' value must be either True, False, or None."478msgid "“%(value)s” value must be either True, False, or None."
477msgstr "Die waarde “%(value)s” moet True, False of None wees."479msgstr ""
478480
479msgid "Boolean (Either True or False)"481msgid "Boolean (Either True or False)"
480msgstr "Boole (True of False)"482msgstr "Boole (True of False)"
@@ -488,56 +490,46 @@ msgstr "Heelgetalle geskei met kommas"
488490
489#, python-format491#, python-format
490msgid ""492msgid ""
491"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD "493"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD "
492"format."494"format."
493msgstr ""495msgstr ""
494"Die waarde “%(value)s” het ’n ongeldige datumformaat. Dit moet in die "
495"formaat JJJJ-MM-DD wees."
496496
497#, python-format497#, python-format
498msgid ""498msgid ""
499"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid "499"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid "
500"date."500"date."
501msgstr ""501msgstr ""
502"Die waarde “%(value)s” het die korrekte formaat (JJJJ-MM-DD), maar dit is ’n "
503"ongeldige datum."
504502
505msgid "Date (without time)"503msgid "Date (without time)"
506msgstr "Datum (sonder die tyd)"504msgstr "Datum (sonder die tyd)"
507505
508#, python-format506#, python-format
509msgid ""507msgid ""
510"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."508"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
511"uuuuuu]][TZ] format."509"uuuuuu]][TZ] format."
512msgstr ""510msgstr ""
513"Die waarde “%(value)s” se formaat is ongeldig. Dit moet in die formaat JJJJ-"
514"MM-DD HH:MM[:ss[.uuuuuu]][TZ] wees."
515511
516#, python-format512#, python-format
517msgid ""513msgid ""
518"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"514"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
519"[TZ]) but it is an invalid date/time."515"[TZ]) but it is an invalid date/time."
520msgstr ""516msgstr ""
521"Die waarde “%(value)s” het die korrekte formaat (JJJJ-MM-DD HH:MM[:ss[."
522"uuuuuu]][TZ]) maar dit is ’n ongeldige datum/tyd."
523517
524msgid "Date (with time)"518msgid "Date (with time)"
525msgstr "Datum (met die tyd)"519msgstr "Datum (met die tyd)"
526520
527#, python-format521#, python-format
528msgid "'%(value)s' value must be a decimal number."522msgid "“%(value)s” value must be a decimal number."
529msgstr "Die waarde “%(value)s” moet ’n desimale getal wees."523msgstr "“%(value)s”-waarde moet ’n desimale getal wees."
530524
531msgid "Decimal number"525msgid "Decimal number"
532msgstr "Desimale getal"526msgstr "Desimale getal"
533527
534#, python-format528#, python-format
535msgid ""529msgid ""
536"'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[."530"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[."
537"uuuuuu] format."531"uuuuuu] format."
538msgstr ""532msgstr ""
539"Die waarde “%(value)s” het ’n ongeldige formaat. Dit moet in die formaat "
540"[DD] [HH:[MM:]]ss[.uuuuuu] wees."
541533
542msgid "Duration"534msgid "Duration"
543msgstr "Duur"535msgstr "Duur"
@@ -549,12 +541,22 @@ msgid "File path"
549msgstr "Lêerpad"541msgstr "Lêerpad"
550542
551#, python-format543#, python-format
552msgid "'%(value)s' value must be a float."544msgid "“%(value)s” value must be a float."
553msgstr "Die waarde “%(value)s” moete ’n dryfpuntgetal wees."545msgstr ""
554546
555msgid "Floating point number"547msgid "Floating point number"
556msgstr "Dryfpuntgetal"548msgstr "Dryfpuntgetal"
557549
550#, python-format
551msgid "“%(value)s” value must be an integer."
552msgstr "“%(value)s”-waarde moet ’n heelgetal wees."
553
554msgid "Integer"
555msgstr "Heelgetal"
556
557msgid "Big (8 byte) integer"
558msgstr "Groot (8 greep) heelgetal"
559
558msgid "IPv4 address"560msgid "IPv4 address"
559msgstr "IPv4-adres"561msgstr "IPv4-adres"
560562
@@ -562,12 +564,15 @@ msgid "IP address"
562msgstr "IP-adres"564msgstr "IP-adres"
563565
564#, python-format566#, python-format
565msgid "'%(value)s' value must be either None, True or False."567msgid "“%(value)s” value must be either None, True or False."
566msgstr "Die waarde “%(value)s” moet None, True of False wees."568msgstr "“%(value)s”-waarde moet een wees uit None, True of False."
567569
568msgid "Boolean (Either True, False or None)"570msgid "Boolean (Either True, False or None)"
569msgstr "Boole (True, False, of None)"571msgstr "Boole (True, False, of None)"
570572
573msgid "Positive big integer"
574msgstr "Positiewe groot heelgetal"
575
571msgid "Positive integer"576msgid "Positive integer"
572msgstr "Positiewe heelgetal"577msgstr "Positiewe heelgetal"
573578
@@ -586,19 +591,17 @@ msgstr "Teks"
586591
587#, python-format592#, python-format
588msgid ""593msgid ""
589"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "594"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
590"format."595"format."
591msgstr ""596msgstr ""
592"Die waarde “%(value)s” se formaat is ongeldig. Dit moet in die formaat HH:"597"“%(value)s”-waarde het ’n ongeldige formaat. Dit moet geformateer word as HH:"
593"MM[:ss[.uuuuuu]] wees."598"MM[:ss[.uuuuuu]]."
594599
595#, python-format600#, python-format
596msgid ""601msgid ""
597"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "602"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
598"invalid time."603"invalid time."
599msgstr ""604msgstr ""
600"Die waarde “%(value)s” het die regte formaat (HH:MM[:ss[.uuuuuu]]) maar is "
601"nie ’n geldige tyd nie."
602605
603msgid "Time"606msgid "Time"
604msgstr "Tyd"607msgstr "Tyd"
@@ -610,7 +613,7 @@ msgid "Raw binary data"
610msgstr "Rou binêre data"613msgstr "Rou binêre data"
611614
612#, python-format615#, python-format
613msgid "'%(value)s' is not a valid UUID."616msgid "“%(value)s” is not a valid UUID."
614msgstr "“%(value)s” is nie ’n geldige UUID nie."617msgstr "“%(value)s” is nie ’n geldige UUID nie."
615618
616msgid "Universally unique identifier"619msgid "Universally unique identifier"
@@ -622,6 +625,12 @@ msgstr "Lêer"
622msgid "Image"625msgid "Image"
623msgstr "Prent"626msgstr "Prent"
624627
628msgid "A JSON object"
629msgstr "’n JSON-objek"
630
631msgid "Value must be valid JSON."
632msgstr "Waarde moet geldige JSON wees."
633
625#, python-format634#, python-format
626msgid "%(model)s instance with %(field)s %(value)r does not exist."635msgid "%(model)s instance with %(field)s %(value)r does not exist."
627msgstr "%(model)s-objek met %(field)s %(value)r bestaan nie."636msgstr "%(model)s-objek met %(field)s %(value)r bestaan nie."
@@ -716,6 +725,9 @@ msgstr "Tik ’n volledige waarde in."
716msgid "Enter a valid UUID."725msgid "Enter a valid UUID."
717msgstr "Tik ’n geldig UUID in."726msgstr "Tik ’n geldig UUID in."
718727
728msgid "Enter a valid JSON."
729msgstr "Gee geldige JSON."
730
719#. Translators: This is the default suffix added to form field labels731#. Translators: This is the default suffix added to form field labels
720msgid ":"732msgid ":"
721msgstr ":"733msgstr ":"
@@ -773,16 +785,14 @@ msgstr ""
773"nie."785"nie."
774786
775#, python-format787#, python-format
776msgid "\"%(pk)s\" is not a valid value."788msgid "“%(pk)s” is not a valid value."
777msgstr "“%(pk)s” is nie 'n geldige waarde nie."789msgstr "“%(pk)s” is nie ’n geldige waarde nie."
778790
779#, python-format791#, python-format
780msgid ""792msgid ""
781"%(datetime)s couldn't be interpreted in time zone %(current_timezone)s; it "793"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it "
782"may be ambiguous or it may not exist."794"may be ambiguous or it may not exist."
783msgstr ""795msgstr ""
784"%(datetime)s kon nie in die tydsone %(current_timezone)s vertolk word nie; "
785"dit is dalk dubbelsinnig, of bestaan nie."
786796
787msgid "Clear"797msgid "Clear"
788msgstr "Maak skoon"798msgstr "Maak skoon"
@@ -802,6 +812,7 @@ msgstr "Ja"
802msgid "No"812msgid "No"
803msgstr "Nee"813msgstr "Nee"
804814
815#. Translators: Please do not add spaces around commas.
805msgid "yes,no,maybe"816msgid "yes,no,maybe"
806msgstr "ja,nee,miskien"817msgstr "ja,nee,miskien"
807818
@@ -1110,9 +1121,6 @@ msgid_plural "%d minutes"
1110msgstr[0] "%d minuut"1121msgstr[0] "%d minuut"
1111msgstr[1] "%d minute"1122msgstr[1] "%d minute"
11121123
1113msgid "0 minutes"
1114msgstr "0 minute"
1115
1116msgid "Forbidden"1124msgid "Forbidden"
1117msgstr "Verbode"1125msgstr "Verbode"
11181126
@@ -1120,38 +1128,25 @@ msgid "CSRF verification failed. Request aborted."
1120msgstr "CSRF-verifikasie het misluk. Versoek is laat val."1128msgstr "CSRF-verifikasie het misluk. Versoek is laat val."
11211129
1122msgid ""1130msgid ""
1123"You are seeing this message because this HTTPS site requires a 'Referer "1131"You are seeing this message because this HTTPS site requires a “Referer "
1124"header' to be sent by your Web browser, but none was sent. This header is "1132"header” to be sent by your Web browser, but none was sent. This header is "
1125"required for security reasons, to ensure that your browser is not being "1133"required for security reasons, to ensure that your browser is not being "
1126"hijacked by third parties."1134"hijacked by third parties."
1127msgstr ""1135msgstr ""
1128"U sien hierdie boodskap omdat dié HTTPS-werf vereis dat u blaaier ’n "
1129"“Referer header” moet stuur, maar dit is nie gestuur nie. Hierdie header is "
1130"vir sekuriteitsredes nodig om te verseker dat u blaaier nie deur derde "
1131"partye gekaap is nie."
11321136
1133msgid ""1137msgid ""
1134"If you have configured your browser to disable 'Referer' headers, please re-"1138"If you have configured your browser to disable “Referer” headers, please re-"
1135"enable them, at least for this site, or for HTTPS connections, or for 'same-"1139"enable them, at least for this site, or for HTTPS connections, or for “same-"
1136"origin' requests."1140"origin” requests."
1137msgstr ""1141msgstr ""
1138"As “Referer headers” in u blaaier gedeaktiveer is, heraktiveer hulle asb. "
1139"ten minste vir dié werf, of vir HTTPS-verbindings, of vir “same-origin”-"
1140"versoeke."
11411142
1142msgid ""1143msgid ""
1143"If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or "1144"If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or "
1144"including the 'Referrer-Policy: no-referrer' header, please remove them. The "1145"including the “Referrer-Policy: no-referrer” header, please remove them. The "
1145"CSRF protection requires the 'Referer' header to do strict referer checking. "1146"CSRF protection requires the “Referer” header to do strict referer checking. "
1146"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer"1147"If you’re concerned about privacy, use alternatives like <a rel=\"noreferrer"
1147"\" ...> for links to third-party sites."1148"\" …> for links to third-party sites."
1148msgstr ""1149msgstr ""
1149"Indien u die <meta name=\"referrer\" content=\"no-referrer\">-etiket gebruik "
1150"of die “Referrer-Policy: no-referrer header” gebruik, verwyder hulle asb. "
1151"Die CSRF-beskerming vereis die “Referer header” om streng kontrole van die "
1152"verwysende bladsy te doen. Indien u besorg is oor privaatheid, gebruik "
1153"alternatiewe soos <a rel=\"noreferrer\" ...> vir skakels na "
1154"derdepartywebwerwe."
11551150
1156msgid ""1151msgid ""
1157"You are seeing this message because this site requires a CSRF cookie when "1152"You are seeing this message because this site requires a CSRF cookie when "
@@ -1164,10 +1159,8 @@ msgstr ""
11641159
1165msgid ""1160msgid ""
1166"If you have configured your browser to disable cookies, please re-enable "1161"If you have configured your browser to disable cookies, please re-enable "
1167"them, at least for this site, or for 'same-origin' requests."1162"them, at least for this site, or for “same-origin” requests."
1168msgstr ""1163msgstr ""
1169"Indien koekies in u blaaier gedeaktiveer is, heraktiveer hulle asb ten "
1170"minste vir dié werf, of vir “same-origin”-versoeke."
11711164
1172msgid "More information is available with DEBUG=True."1165msgid "More information is available with DEBUG=True."
1173msgstr "Meer inligting is beskikbaar met DEBUG=True."1166msgstr "Meer inligting is beskikbaar met DEBUG=True."
@@ -1200,31 +1193,30 @@ msgstr ""
1200"%(class_name)s.allow_future vals is."1193"%(class_name)s.allow_future vals is."
12011194
1202#, python-format1195#, python-format
1203msgid "Invalid date string '%(datestr)s' given format '%(format)s'"1196msgid "Invalid date string “%(datestr)s” given format “%(format)s”"
1204msgstr "Ongeldige datumstring “%(datestr)s” vir formaat “%(format)s”"1197msgstr "Ongeldige datumstring “%(datestr)s” gegewe die formaat “%(format)s”"
12051198
1206#, python-format1199#, python-format
1207msgid "No %(verbose_name)s found matching the query"1200msgid "No %(verbose_name)s found matching the query"
1208msgstr "Geen %(verbose_name)s gevind vir die soektog"1201msgstr "Geen %(verbose_name)s gevind vir die soektog"
12091202
1210msgid "Page is not 'last', nor can it be converted to an int."1203msgid "Page is not “last”, nor can it be converted to an int."
1211msgstr ""1204msgstr ""
1212"Bladsy is nie “last” nie, en dit kan nie omgeskakel word na ’n heelgetal nie."
12131205
1214#, python-format1206#, python-format
1215msgid "Invalid page (%(page_number)s): %(message)s"1207msgid "Invalid page (%(page_number)s): %(message)s"
1216msgstr "Ongeldige bladsy (%(page_number)s): %(message)s"1208msgstr "Ongeldige bladsy (%(page_number)s): %(message)s"
12171209
1218#, python-format1210#, python-format
1219msgid "Empty list and '%(class_name)s.allow_empty' is False."1211msgid "Empty list and “%(class_name)s.allow_empty” is False."
1220msgstr "Leë lys en “%(class_name)s.allow_empty” is vals."1212msgstr ""
12211213
1222msgid "Directory indexes are not allowed here."1214msgid "Directory indexes are not allowed here."
1223msgstr "Gidsindekse word nie hier toegelaat nie."1215msgstr "Gidsindekse word nie hier toegelaat nie."
12241216
1225#, python-format1217#, python-format
1226msgid "\"%(path)s\" does not exist"1218msgid "“%(path)s” does not exist"
1227msgstr "“%(path)s” bestaan nie"1219msgstr "“%(path)s” bestaan nie."
12281220
1229#, python-format1221#, python-format
1230msgid "Index of %(directory)s"1222msgid "Index of %(directory)s"
@@ -1259,7 +1251,7 @@ msgstr ""
1259msgid "Django Documentation"1251msgid "Django Documentation"
1260msgstr "Django-dokumentasie"1252msgstr "Django-dokumentasie"
12611253
1262msgid "Topics, references, &amp; how-to's"1254msgid "Topics, references, &amp; how-to’s"
1263msgstr ""1255msgstr ""
12641256
1265msgid "Tutorial: A Polling App"1257msgid "Tutorial: A Polling App"
diff --git a/django/conf/locale/ar/LC_MESSAGES/django.mo b/django/conf/locale/ar/LC_MESSAGES/django.mo
index 6330ab5..d65a93a 100644
1266Binary files a/django/conf/locale/ar/LC_MESSAGES/django.mo and b/django/conf/locale/ar/LC_MESSAGES/django.mo differ1258Binary files a/django/conf/locale/ar/LC_MESSAGES/django.mo and b/django/conf/locale/ar/LC_MESSAGES/django.mo differ
diff --git a/django/conf/locale/ar/LC_MESSAGES/django.po b/django/conf/locale/ar/LC_MESSAGES/django.po
index d0c82d8..ccda018 100644
--- a/django/conf/locale/ar/LC_MESSAGES/django.po
+++ b/django/conf/locale/ar/LC_MESSAGES/django.po
@@ -1,18 +1,22 @@
1# This file is distributed under the same license as the Django package.1# This file is distributed under the same license as the Django package.
2#2#
3# Translators:3# Translators:
4# Bashar Al-Abdulhadi, 2015-20164# Bashar Al-Abdulhadi, 2015-2016,2020
5# Bashar Al-Abdulhadi, 20145# Bashar Al-Abdulhadi, 2014
6# Eyad Toma <d.eyad.t@gmail.com>, 2013-20146# Eyad Toma <d.eyad.t@gmail.com>, 2013-2014
7# Jannis Leidel <jannis@leidel.info>, 20117# Jannis Leidel <jannis@leidel.info>, 2011
8# Muaaz Alsaied, 2020
9# Omar Al-Ithawi <omar.al.dolaimy@gmail.com>, 2020
8# Ossama Khayat <okhayat@gmail.com>, 201110# Ossama Khayat <okhayat@gmail.com>, 2011
11# Tony xD <tony23dz@gmail.com>, 2020
12# صفا الفليج <safaalfulaij@hotmail.com>, 2020
9msgid ""13msgid ""
10msgstr ""14msgstr ""
11"Project-Id-Version: django\n"15"Project-Id-Version: django\n"
12"Report-Msgid-Bugs-To: \n"16"Report-Msgid-Bugs-To: \n"
13"POT-Creation-Date: 2017-11-15 16:15+0100\n"17"POT-Creation-Date: 2020-05-19 20:23+0200\n"
14"PO-Revision-Date: 2017-11-16 01:13+0000\n"18"PO-Revision-Date: 2020-07-15 00:40+0000\n"
15"Last-Translator: Jannis Leidel <jannis@leidel.info>\n"19"Last-Translator: Bashar Al-Abdulhadi\n"
16"Language-Team: Arabic (http://www.transifex.com/django/django/language/ar/)\n"20"Language-Team: Arabic (http://www.transifex.com/django/django/language/ar/)\n"
17"MIME-Version: 1.0\n"21"MIME-Version: 1.0\n"
18"Content-Type: text/plain; charset=UTF-8\n"22"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,6 +31,9 @@ msgstr "الإفريقية"
27msgid "Arabic"31msgid "Arabic"
28msgstr "العربيّة"32msgstr "العربيّة"
2933
34msgid "Algerian Arabic"
35msgstr "عربي جزائري"
36
30msgid "Asturian"37msgid "Asturian"
31msgstr "الأسترية"38msgstr "الأسترية"
3239
@@ -141,12 +148,18 @@ msgstr "الصربية العليا"
141msgid "Hungarian"148msgid "Hungarian"
142msgstr "الهنغاريّة"149msgstr "الهنغاريّة"
143150
151msgid "Armenian"
152msgstr "الأرمنية"
153
144msgid "Interlingua"154msgid "Interlingua"
145msgstr "اللغة الوسيطة"155msgstr "اللغة الوسيطة"
146156
147msgid "Indonesian"157msgid "Indonesian"
148msgstr "الإندونيسيّة"158msgstr "الإندونيسيّة"
149159
160msgid "Igbo"
161msgstr "الإيبو"
162
150msgid "Ido"163msgid "Ido"
151msgstr "ايدو"164msgstr "ايدو"
152165
@@ -162,6 +175,9 @@ msgstr "اليابانيّة"
162msgid "Georgian"175msgid "Georgian"
163msgstr "الجورجيّة"176msgstr "الجورجيّة"
164177
178msgid "Kabyle"
179msgstr "القبائل"
180
165msgid "Kazakh"181msgid "Kazakh"
166msgstr "الكازاخستانية"182msgstr "الكازاخستانية"
167183
@@ -174,6 +190,9 @@ msgstr "الهنديّة (كنّادا)"
174msgid "Korean"190msgid "Korean"
175msgstr "الكوريّة"191msgstr "الكوريّة"
176192
193msgid "Kyrgyz"
194msgstr "قيرغيز"
195
177msgid "Luxembourgish"196msgid "Luxembourgish"
178msgstr "اللوكسمبرجية"197msgstr "اللوكسمبرجية"
179198
@@ -258,9 +277,15 @@ msgstr "التاميل"
258msgid "Telugu"277msgid "Telugu"
259msgstr "التيلوغو"278msgstr "التيلوغو"
260279
280msgid "Tajik"
281msgstr "طاجيك"
282
261msgid "Thai"283msgid "Thai"
262msgstr "التايلنديّة"284msgstr "التايلنديّة"
263285
286msgid "Turkmen"
287msgstr "تركمان"
288
264msgid "Turkish"289msgid "Turkish"
265msgstr "التركيّة"290msgstr "التركيّة"
266291
@@ -276,6 +301,9 @@ msgstr "الأكرانيّة"
276msgid "Urdu"301msgid "Urdu"
277msgstr "الأوردو"302msgstr "الأوردو"
278303
304msgid "Uzbek"
305msgstr "الأوزبكي"
306
279msgid "Vietnamese"307msgid "Vietnamese"
280msgstr "الفيتناميّة"308msgstr "الفيتناميّة"
281309
@@ -298,47 +326,49 @@ msgid "Syndication"
298msgstr "توظيف النشر"326msgstr "توظيف النشر"
299327
300msgid "That page number is not an integer"328msgid "That page number is not an integer"
301msgstr ""329msgstr "رقم الصفحة هذا ليس عدداً طبيعياً"
302330
303msgid "That page number is less than 1"331msgid "That page number is less than 1"
304msgstr ""332msgstr "رقم الصفحة أقل من 1"
305333
306msgid "That page contains no results"334msgid "That page contains no results"
307msgstr ""335msgstr "هذه الصفحة لا تحتوي على نتائج"
308336
309msgid "Enter a valid value."337msgid "Enter a valid value."
310msgstr "أدخل قيمة صحيحة."338msgstr "أدخِل قيمة صحيحة."
311339
312msgid "Enter a valid URL."340msgid "Enter a valid URL."
313msgstr "أدخل رابطاً صحيحاً."341msgstr "أدخِل رابطًا صحيحًا."
314342
315msgid "Enter a valid integer."343msgid "Enter a valid integer."
316msgstr "أدخل رقم صالح."344msgstr "أدخِل عدداً طبيعياً."
317345
318msgid "Enter a valid email address."346msgid "Enter a valid email address."
319msgstr "أدخل عنوان بريد إلكتروني صحيح."347msgstr "أدخِل عنوان بريد إلكتروني صحيح."
320348
321#. Translators: "letters" means latin letters: a-z and A-Z.349#. Translators: "letters" means latin letters: a-z and A-Z.
322msgid ""350msgid ""
323"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens."351"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens."
324msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة."352msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة."
325353
326msgid ""354msgid ""
327"Enter a valid 'slug' consisting of Unicode letters, numbers, underscores, or "355"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or "
328"hyphens."356"hyphens."
329msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة."357msgstr ""
358"أدخل اختصار 'slug' صحيح يتكون من أحرف Unicode أو أرقام أو شرطات سفلية أو "
359"واصلات."
330360
331msgid "Enter a valid IPv4 address."361msgid "Enter a valid IPv4 address."
332msgstr "أدخل عنوان IPv4 صحيح."362msgstr "أدخِل عنوان IPv4 صحيح."
333363
334msgid "Enter a valid IPv6 address."364msgid "Enter a valid IPv6 address."
335msgstr "أدخل عنوان IPv6 صحيح."365msgstr "أدخِل عنوان IPv6 صحيح."
336366
337msgid "Enter a valid IPv4 or IPv6 address."367msgid "Enter a valid IPv4 or IPv6 address."
338msgstr "أدخل عنوان IPv4 أو عنوان IPv6 صحيح."368msgstr "أدخِل عنوان IPv4 أو عنوان IPv6 صحيح."
339369
340msgid "Enter only digits separated by commas."370msgid "Enter only digits separated by commas."
341msgstr "أدخل أرقاما فقط مفصول بينها بفواصل."371msgstr "أدخِل فقط أرقامًا تفصلها الفواصل."
342372
343#, python-format373#, python-format
344msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)."374msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)."
@@ -404,6 +434,9 @@ msgstr[5] ""
404"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي "434"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي "
405"حالياً على %(show_value)d)."435"حالياً على %(show_value)d)."
406436
437msgid "Enter a number."
438msgstr "أدخل رقماً."
439
407#, python-format440#, python-format
408msgid "Ensure that there are no more than %(max)s digit in total."441msgid "Ensure that there are no more than %(max)s digit in total."
409msgid_plural "Ensure that there are no more than %(max)s digits in total."442msgid_plural "Ensure that there are no more than %(max)s digits in total."
@@ -438,12 +471,14 @@ msgstr[5] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل ا
438471
439#, python-format472#, python-format
440msgid ""473msgid ""
441"File extension '%(extension)s' is not allowed. Allowed extensions are: "474"File extension “%(extension)s” is not allowed. Allowed extensions are: "
442"'%(allowed_extensions)s'."475"%(allowed_extensions)s."
443msgstr ""476msgstr ""
477"امتداد الملف “%(extension)s” غير مسموح به. الامتدادات المسموح بها هي:"
478"%(allowed_extensions)s."
444479
445msgid "Null characters are not allowed."480msgid "Null characters are not allowed."
446msgstr ""481msgstr "الأحرف الخالية غير مسموح بها."
447482
448msgid "and"483msgid "and"
449msgstr "و"484msgstr "و"
@@ -478,19 +513,13 @@ msgstr ""
478msgid "Field of type: %(field_type)s"513msgid "Field of type: %(field_type)s"
479msgstr "حقل نوع: %(field_type)s"514msgstr "حقل نوع: %(field_type)s"
480515
481msgid "Integer"
482msgstr "عدد صحيح"
483
484#, python-format516#, python-format
485msgid "'%(value)s' value must be an integer."517msgid "“%(value)s” value must be either True or False."
486msgstr "قيمة '%(value)s' يجب ان تكون عدد صحيح."518msgstr "قيمة '%(value)s' يجب أن تكون True أو False."
487
488msgid "Big (8 byte) integer"
489msgstr "عدد صحيح كبير (8 بايت)"
490519
491#, python-format520#, python-format
492msgid "'%(value)s' value must be either True or False."521msgid "“%(value)s” value must be either True, False, or None."
493msgstr "قيمة '%(value)s' يجب أن تكون True أو False."522msgstr "قيمة “%(value)s” يجب أن تكون True , False أو None."
494523
495msgid "Boolean (Either True or False)"524msgid "Boolean (Either True or False)"
496msgstr "ثنائي (إما True أو False)"525msgstr "ثنائي (إما True أو False)"
@@ -504,7 +533,7 @@ msgstr "أرقام صحيحة مفصولة بفواصل"
504533
505#, python-format534#, python-format
506msgid ""535msgid ""
507"'%(value)s' value has an invalid date format. It must be in YYYY-MM-DD "536"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD "
508"format."537"format."
509msgstr ""538msgstr ""
510"قيمة '%(value)s' ليست من بُنية تاريخ صحيحة. القيمة يجب ان تكون من البُنية YYYY-"539"قيمة '%(value)s' ليست من بُنية تاريخ صحيحة. القيمة يجب ان تكون من البُنية YYYY-"
@@ -512,7 +541,7 @@ msgstr ""
512541
513#, python-format542#, python-format
514msgid ""543msgid ""
515"'%(value)s' value has the correct format (YYYY-MM-DD) but it is an invalid "544"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid "
516"date."545"date."
517msgstr "قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD) لكنها تحوي تاريخ غير صحيح."546msgstr "قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD) لكنها تحوي تاريخ غير صحيح."
518547
@@ -521,7 +550,7 @@ msgstr "التاريخ (دون الوقت)"
521550
522#, python-format551#, python-format
523msgid ""552msgid ""
524"'%(value)s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."553"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
525"uuuuuu]][TZ] format."554"uuuuuu]][TZ] format."
526msgstr ""555msgstr ""
527"قيمة '%(value)s' ليست من بُنية صحيحة. القيمة يجب ان تكون من البُنية YYYY-MM-DD "556"قيمة '%(value)s' ليست من بُنية صحيحة. القيمة يجب ان تكون من البُنية YYYY-MM-DD "
@@ -529,7 +558,7 @@ msgstr ""
529558
530#, python-format559#, python-format
531msgid ""560msgid ""
532"'%(value)s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"561"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]"
533"[TZ]) but it is an invalid date/time."562"[TZ]) but it is an invalid date/time."
534msgstr ""563msgstr ""
535"قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) لكنها "564"قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) لكنها "
@@ -539,7 +568,7 @@ msgid "Date (with time)"
539msgstr "التاريخ (مع الوقت)"568msgstr "التاريخ (مع الوقت)"
540569
541#, python-format570#, python-format
542msgid "'%(value)s' value must be a decimal number."571msgid "“%(value)s” value must be a decimal number."
543msgstr "قيمة '%(value)s' يجب ان تكون عدد عشري."572msgstr "قيمة '%(value)s' يجب ان تكون عدد عشري."
544573
545msgid "Decimal number"574msgid "Decimal number"
@@ -547,11 +576,11 @@ msgstr "رقم عشري"
547576
548#, python-format577#, python-format
549msgid ""578msgid ""
550"'%(value)s' value has an invalid format. It must be in [DD] [HH:[MM:]]ss[."579"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[."
551"uuuuuu] format."580"uuuuuu] format."
552msgstr ""581msgstr ""
553"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق [DD] [HH:"582"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق ([DD] "
554"[MM:]]ss[.uuuuuu]."583"[[HH:]MM:]ss[.uuuuuu])"
555584
556msgid "Duration"585msgid "Duration"
557msgstr "المدّة"586msgstr "المدّة"
@@ -563,12 +592,22 @@ msgid "File path"
563msgstr "مسار الملف"592msgstr "مسار الملف"
564593
565#, python-format594#, python-format
566msgid "'%(value)s' value must be a float."595msgid "“%(value)s” value must be a float."
567msgstr "قيمة '%(value)s' يجب ان تكون عدد فاصل عائم."596msgstr "قيمة '%(value)s' يجب ان تكون عدد تعويم."
568597
569msgid "Floating point number"598msgid "Floating point number"
570msgstr "رقم فاصلة عائمة"599msgstr "رقم فاصلة عائمة"
571600
601#, python-format
602msgid "“%(value)s” value must be an integer."
603msgstr "قيمة '%(value)s' يجب ان تكون عدد طبيعي."
604
605msgid "Integer"
606msgstr "عدد صحيح"
607
608msgid "Big (8 byte) integer"
609msgstr "عدد صحيح كبير (8 بايت)"
610
572msgid "IPv4 address"611msgid "IPv4 address"
573msgstr "عنوان IPv4"612msgstr "عنوان IPv4"
574613
@@ -576,12 +615,15 @@ msgid "IP address"
576msgstr "عنوان IP"615msgstr "عنوان IP"
577616
578#, python-format617#, python-format
579msgid "'%(value)s' value must be either None, True or False."618msgid "“%(value)s” value must be either None, True or False."
580msgstr "قيمة '%(value)s' يجب ان تكون None أو True أو False."619msgstr "قيمة '%(value)s' يجب ان تكون None أو True أو False."
581620
582msgid "Boolean (Either True, False or None)"621msgid "Boolean (Either True, False or None)"
583msgstr "ثنائي (إما True أو False أو None)"622msgstr "ثنائي (إما True أو False أو None)"
584623
624msgid "Positive big integer"
625msgstr "عدد صحيح موجب كبير"
626
585msgid "Positive integer"627msgid "Positive integer"
586msgstr "عدد صحيح موجب"628msgstr "عدد صحيح موجب"
587629
@@ -600,15 +642,15 @@ msgstr "نص"
600642
601#, python-format643#, python-format
602msgid ""644msgid ""
603"'%(value)s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "645"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] "
604"format."646"format."
605msgstr ""647msgstr ""
606"قيمة '%(value)s' ليست من بُنية صحيحة. القيمة يجب ان تكون من البُنية HH:MM[:ss[."648"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق\n"
607"uuuuuu]]."649"HH:MM[:ss[.uuuuuu]]"
608650
609#, python-format651#, python-format
610msgid ""652msgid ""
611"'%(value)s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "653"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an "
612"invalid time."654"invalid time."
613msgstr ""655msgstr ""
614"قيمة '%(value)s' من بُنية صحيحة (HH:MM[:ss[.uuuuuu]]) لكنها تحوي وقت غير صحيح."656"قيمة '%(value)s' من بُنية صحيحة (HH:MM[:ss[.uuuuuu]]) لكنها تحوي وقت غير صحيح."
@@ -623,8 +665,11 @@ msgid "Raw binary data"
623msgstr "البيانات الثنائية الخام"665msgstr "البيانات الثنائية الخام"
624666
625#, python-format667#, python-format
626msgid "'%(value)s' is not a valid UUID."668msgid "“%(value)s” is not a valid UUID."
627msgstr "'%(value)s' ليست قيمة UUID صحيحة."669msgstr "القيمة \"%(value)s\" ليست UUID صالح."
670
671msgid "Universally unique identifier"
672msgstr "معرّف فريد عالمياً"
628673
629msgid "File"674msgid "File"
630msgstr "ملف"675msgstr "ملف"
@@ -632,6 +677,12 @@ msgstr "ملف"
632msgid "Image"677msgid "Image"
633msgstr "صورة"678msgstr "صورة"
634679
680msgid "A JSON object"
681msgstr "كائن JSON"
682
683msgid "Value must be valid JSON."
684msgstr "يجب أن تكون قيمة JSON صالحة."
685
635#, python-format686#, python-format
636msgid "%(model)s instance with %(field)s %(value)r does not exist."687msgid "%(model)s instance with %(field)s %(value)r does not exist."
637msgstr "النموذج %(model)s ذو الحقل و القيمة %(field)s %(value)r غير موجود."688msgstr "النموذج %(model)s ذو الحقل و القيمة %(field)s %(value)r غير موجود."
@@ -665,9 +716,6 @@ msgstr "هذا الحقل مطلوب."
665msgid "Enter a whole number."716msgid "Enter a whole number."
666msgstr "أدخل رقما صحيحا."717msgstr "أدخل رقما صحيحا."
667718
668msgid "Enter a number."
669msgstr "أدخل رقماً."
670
671msgid "Enter a valid date."719msgid "Enter a valid date."
672msgstr "أدخل تاريخاً صحيحاً."720msgstr "أدخل تاريخاً صحيحاً."
673721
@@ -680,6 +728,10 @@ msgstr "أدخل تاريخاً/وقتاً صحيحاً."
680msgid "Enter a valid duration."728msgid "Enter a valid duration."
681msgstr "أدخل مدّة صحيحة"729msgstr "أدخل مدّة صحيحة"
682730
731#, python-brace-format
732msgid "The number of days must be between {min_days} and {max_days}."
733msgstr "يجب أن يكون عدد الأيام بين {min_days} و {max_days}."
734
683msgid "No file was submitted. Check the encoding type on the form."735msgid "No file was submitted. Check the encoding type on the form."
684msgstr "لم يتم ارسال ملف، الرجاء التأكد من نوع ترميز الاستمارة."736msgstr "لم يتم ارسال ملف، الرجاء التأكد من نوع ترميز الاستمارة."
685737
@@ -735,6 +787,9 @@ msgstr "إدخال قيمة كاملة."
735msgid "Enter a valid UUID."787msgid "Enter a valid UUID."
736msgstr "أدخل قيمة UUID صحيحة."788msgstr "أدخل قيمة UUID صحيحة."
737789
790msgid "Enter a valid JSON."
791msgstr "أدخل مدخل JSON صالح."
792
738#. Translators: This is the default suffix added to form field labels793#. Translators: This is the default suffix added to form field labels
739msgid ":"794msgid ":"
740msgstr ":"795msgstr ":"
@@ -792,18 +847,18 @@ msgid "Please correct the duplicate values below."
792msgstr "رجاءً صحّح القيم المُكرّرة أدناه."847msgstr "رجاءً صحّح القيم المُكرّرة أدناه."
793848
794msgid "The inline value did not match the parent instance."849msgid "The inline value did not match the parent instance."
795msgstr ""850msgstr "لا تتطابق القيمة المضمنة مع المثيل الأصلي."
796851
797msgid "Select a valid choice. That choice is not one of the available choices."852msgid "Select a valid choice. That choice is not one of the available choices."
798msgstr "انتق خياراً صحيحاً. اختيارك ليس أحد الخيارات المتاحة."853msgstr "انتق خياراً صحيحاً. اختيارك ليس أحد الخيارات المتاحة."
799854
800#, python-format855#, python-format
801msgid "\"%(pk)s\" is not a valid value."856msgid "“%(pk)s” is not a valid value."
802msgstr ""857msgstr "\"%(pk)s\" ليست قيمة صالحة."
803858
804#, python-format859#, python-format
805msgid ""860msgid ""
806"%(datetime)s couldn't be interpreted in time zone %(current_timezone)s; it "861"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it "
807"may be ambiguous or it may not exist."862"may be ambiguous or it may not exist."
808msgstr ""863msgstr ""
809"%(datetime)s لا يمكن تفسيرها في المنطقة الزمنية %(current_timezone)s; قد "864"%(datetime)s لا يمكن تفسيرها في المنطقة الزمنية %(current_timezone)s; قد "
@@ -827,6 +882,7 @@ msgstr "نعم"
827msgid "No"882msgid "No"
828msgstr "لا"883msgstr "لا"
829884
885#. Translators: Please do not add spaces around commas.
830msgid "yes,no,maybe"886msgid "yes,no,maybe"
831msgstr "نعم,لا,ربما"887msgstr "نعم,لا,ربما"
832888
@@ -1093,7 +1149,7 @@ msgstr "هذا ليس عنوان IPv6 صحيح."
10931149
1094#, python-format1150#, python-format
1095msgctxt "String to return when truncating text"1151msgctxt "String to return when truncating text"
1096msgid "%(truncated_text)s..."1152msgid "%(truncated_text)s…"
1097msgstr "%(truncated_text)s..."1153msgstr "%(truncated_text)s..."
10981154
1099msgid "or"1155msgid "or"
@@ -1163,9 +1219,6 @@ msgstr[3] "%d دقائق"
1163msgstr[4] "%d دقيقة"1219msgstr[4] "%d دقيقة"
1164msgstr[5] "%d دقيقة"1220msgstr[5] "%d دقيقة"
11651221
1166msgid "0 minutes"
1167msgstr "0 دقيقة"
1168
1169msgid "Forbidden"1222msgid "Forbidden"
1170msgstr "ممنوع"1223msgstr "ممنوع"
11711224
@@ -1173,31 +1226,34 @@ msgid "CSRF verification failed. Request aborted."
1173msgstr "تم الفشل للتحقق من CSRF. تم إنهاء الطلب."1226msgstr "تم الفشل للتحقق من CSRF. تم إنهاء الطلب."
11741227
1175msgid ""1228msgid ""
1176"You are seeing this message because this HTTPS site requires a 'Referer "1229"You are seeing this message because this HTTPS site requires a “Referer "
1177"header' to be sent by your Web browser, but none was sent. This header is "1230"header” to be sent by your Web browser, but none was sent. This header is "
1178"required for security reasons, to ensure that your browser is not being "1231"required for security reasons, to ensure that your browser is not being "
1179"hijacked by third parties."1232"hijacked by third parties."
1180msgstr ""1233msgstr ""
1181"أنت ترى هذه الرسالة لأن هذا الموقع HTTPS يتطلب إرسال 'Referer header' من "1234"تظهر لك هذه الرسالة لأن موقع HTTPS يتطلب \"رأس مرجعي\" ليتم إرساله بواسطة "
1182"قبل المتصفح، ولكن لم تم إرسال أي شيء. هذا الـheader مطلوب لأسباب أمنية، "1235"مستعرض الويب الخاص بك ، ولكن لم يتم إرسال أي منها. هذا العنوان مطلوب لأسباب "
1183"لضمان أن متصفحك لم يتم اختطافه من قبل أطراف أخرى."1236"أمنية ، للتأكد من أن متصفحك لا يتم اختراقه من قبل أطراف ثالثة."
11841237
1185msgid ""1238msgid ""
1186"If you have configured your browser to disable 'Referer' headers, please re-"1239"If you have configured your browser to disable “Referer” headers, please re-"
1187"enable them, at least for this site, or for HTTPS connections, or for 'same-"1240"enable them, at least for this site, or for HTTPS connections, or for “same-"
1188"origin' requests."1241"origin” requests."
1189msgstr ""1242msgstr ""
1190"إذا قمت بضبط متصفحك لتعطيل 'Referer headers'، يرجى إعادة تفعيلها، على الأقل "1243"إذا قمت بتكوين المستعرض لتعطيل رؤوس “Referer” ، فيرجى إعادة تمكينها ، على "
1191"بالنسبة لهذا الموقع، أو لاتصالات HTTPS، أو للطلبات من نفس المنشأ 'same-"1244"الأقل لهذا الموقع ، أو لاتصالات HTTPS ، أو لطلبات “same-origin”."
1192"origin'."
11931245
1194msgid ""1246msgid ""
1195"If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or "1247"If you are using the <meta name=\"referrer\" content=\"no-referrer\"> tag or "
1196"including the 'Referrer-Policy: no-referrer' header, please remove them. The "1248"including the “Referrer-Policy: no-referrer” header, please remove them. The "
1197"CSRF protection requires the 'Referer' header to do strict referer checking. "1249"CSRF protection requires the “Referer” header to do strict referer checking. "
1198"If you're concerned about privacy, use alternatives like <a rel=\"noreferrer"1250"If you’re concerned about privacy, use alternatives like <a rel=\"noreferrer"
1199"\" ...> for links to third-party sites."1251"\" …> for links to third-party sites."
1200msgstr ""1252msgstr ""
1253"إذا كنت تستخدم العلامة <meta name=\"referrer\" content=\"no-referrer\"> أو "
1254"تضمين رأس “Referrer-Policy: no-referrer”، يرجى إزالتها. تتطلب حماية CSRF أن "
1255"يقوم رأس “Referer” بإجراء فحص صارم للمراجع. إذا كنت قلقًا بشأن الخصوصية ، "
1256"فاستخدم بدائل مثل <a rel=\"noreferrer\" …> للروابط إلى مواقع الجهات الخارجية."
12011257
1202msgid ""1258msgid ""
1203"You are seeing this message because this site requires a CSRF cookie when "1259"You are seeing this message because this site requires a CSRF cookie when "
@@ -1210,10 +1266,10 @@ msgstr ""
12101266
1211msgid ""1267msgid ""
1212"If you have configured your browser to disable cookies, please re-enable "1268"If you have configured your browser to disable cookies, please re-enable "
1213"them, at least for this site, or for 'same-origin' requests."1269"them, at least for this site, or for “same-origin” requests."
1214msgstr ""1270msgstr ""
1215"إذا قمت بضبط المتصفح لتعطيل الكوكيز الرجاء إعادة تغعيلها، على الأقل بالنسبة "1271"إذا قمت بضبط المتصفح لتعطيل الكوكيز الرجاء إعادة تغعيلها، على الأقل بالنسبة "
1216"لهذا الموقع، أو للطلبات من نفس المنشأ 'same-origin'."1272"لهذا الموقع، أو للطلبات من “same-origin”."
12171273
1218msgid "More information is available with DEBUG=True."1274msgid "More information is available with DEBUG=True."
1219msgstr "يتوفر مزيد من المعلومات عند ضبط الخيار DEBUG=True."1275msgstr "يتوفر مزيد من المعلومات عند ضبط الخيار DEBUG=True."
@@ -1222,7 +1278,7 @@ msgid "No year specified"
1222msgstr "لم تحدد السنة"1278msgstr "لم تحدد السنة"
12231279
1224msgid "Date out of range"1280msgid "Date out of range"
1225msgstr ""1281msgstr "التاريخ خارج النطاق"
12261282
1227msgid "No month specified"1283msgid "No month specified"
1228msgstr "لم تحدد الشهر"1284msgstr "لم تحدد الشهر"
@@ -1246,46 +1302,51 @@ msgstr ""
1246"allow_future هي False."1302"allow_future هي False."
12471303
1248#, python-format1304#, python-format
1249msgid "Invalid date string '%(datestr)s' given format '%(format)s'"1305msgid "Invalid date string “%(datestr)s” given format “%(format)s”"
1250msgstr "نسق تاريخ غير صحيح '%(datestr)s' محدد بالشكل '%(format)s'"1306msgstr "نسق تاريخ غير صحيح \"%(datestr)s\" محدد بالشكل ''%(format)s\""
12511307
1252#, python-format1308#, python-format
1253msgid "No %(verbose_name)s found matching the query"1309msgid "No %(verbose_name)s found matching the query"
1254msgstr "لم يعثر على أي %(verbose_name)s مطابقة لهذا الإستعلام"1310msgstr "لم يعثر على أي %(verbose_name)s مطابقة لهذا الإستعلام"
12551311
1256msgid "Page is not 'last', nor can it be converted to an int."1312msgid "Page is not “last”, nor can it be converted to an int."
1257msgstr "الصفحة ليست 'الأخيرة'، ولا يمكن تحويل القيمة إلى رقم صحيح."1313msgstr "الصفحة ليست \"الأخيرة\"، كما لا يمكن تحويل القيمة إلى رقم طبيعي."
12581314
1259#, python-format1315#, python-format
1260msgid "Invalid page (%(page_number)s): %(message)s"1316msgid "Invalid page (%(page_number)s): %(message)s"
1261msgstr "صفحة خاطئة (%(page_number)s): %(message)s"1317msgstr "صفحة خاطئة (%(page_number)s): %(message)s"
12621318
1263#, python-format1319#, python-format
1264msgid "Empty list and '%(class_name)s.allow_empty' is False."1320msgid "Empty list and “%(class_name)s.allow_empty” is False."
1265msgstr "قائمة فارغة و '%(class_name)s.allow_empty' قيمته False."1321msgstr ""
1322"قائمة فارغة و\n"
1323"\"%(class_name)s.allow_empty\"\n"
1324"قيمته False."
12661325
1267msgid "Directory indexes are not allowed here."1326msgid "Directory indexes are not allowed here."
1268msgstr "لا يسمح لفهارس الدليل هنا."1327msgstr "لا يسمح لفهارس الدليل هنا."
12691328
1270#, python-format1329#, python-format
1271msgid "\"%(path)s\" does not exist"1330msgid "“%(path)s” does not exist"
1272msgstr "المسار \"%(path)s\" غير موجود."1331msgstr "”%(path)s“ غير موجود"
12731332
1274#, python-format1333#, python-format
1275msgid "Index of %(directory)s"1334msgid "Index of %(directory)s"
1276msgstr "فهرس لـ %(directory)s"1335msgstr "فهرس لـ %(directory)s"
12771336
1278msgid "Django: the Web framework for perfectionists with deadlines."1337msgid "Django: the Web framework for perfectionists with deadlines."
1279msgstr ""1338msgstr "جانغو: إطار الويب للمهتمين بالكمال و لديهم مواعيد تسليم نهائية."
12801339
1281#, python-format1340#, python-format
1282msgid ""1341msgid ""
1283"View <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" "1342"View <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" "
1284"target=\"_blank\" rel=\"noopener\">release notes</a> for Django %(version)s"1343"target=\"_blank\" rel=\"noopener\">release notes</a> for Django %(version)s"
1285msgstr ""1344msgstr ""
1345"استعراض <a href=\"https://docs.djangoproject.com/en/%(version)s/releases/\" "
1346"target=\"_blank\" rel=\"noopener\">ملاحظات الإصدار</a> لجانغو %(version)s"
12861347
1287msgid "The install worked successfully! Congratulations!"1348msgid "The install worked successfully! Congratulations!"
1288msgstr ""1349msgstr "تمت عملية التنصيب بنجاح! تهانينا!"
12891350
1290#, python-format1351#, python-format
1291msgid ""1352msgid ""
@@ -1294,21 +1355,24 @@ msgid ""
1294"\">DEBUG=True</a> is in your settings file and you have not configured any "1355"\">DEBUG=True</a> is in your settings file and you have not configured any "
1295"URLs."1356"URLs."
1296msgstr ""1357msgstr ""
1358"تظهر لك هذه الصفحة لأن <a href=\"https://docs.djangoproject.com/en/"
1359"%(version)s/ref/settings/#debug\" target=\"_blank\" rel=\"noopener"
1360"\">DEBUG=True</a> في ملف settings خاصتك كما أنك لم تقم بإعداد الروابط URLs."
12971361
1298msgid "Django Documentation"1362msgid "Django Documentation"
1299msgstr ""1363msgstr "وثائق تعليمات جانغو"
13001364
1301msgid "Topics, references, &amp; how-to's"1365msgid "Topics, references, &amp; how-to’s"
1302msgstr ""1366msgstr "المواضيع و المراجع و التعليمات"
13031367
1304msgid "Tutorial: A Polling App"1368msgid "Tutorial: A Polling App"
1305msgstr ""1369msgstr "برنامج تعليمي: تطبيق تصويت"
13061370
1307msgid "Get started with Django"1371msgid "Get started with Django"
1308msgstr ""1372msgstr "إبدأ مع جانغو"
13091373
1310msgid "Django Community"1374msgid "Django Community"
1311msgstr ""1375msgstr "مجتمع جانغو"
13121376
1313msgid "Connect, get help, or contribute"1377msgid "Connect, get help, or contribute"
1314msgstr ""1378msgstr "اتصل بنا أو احصل على مساعدة أو ساهم"
diff --git a/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo b/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo
1315new file mode 1006441379new file mode 100644
index 0000000..1fce7bc
1316Binary files /dev/null and b/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo differ1380Binary files /dev/null and b/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo differ
diff --git a/django/conf/locale/ar_DZ/LC_MESSAGES/django.po b/django/conf/locale/ar_DZ/LC_MESSAGES/django.po
1317new file mode 1006441381new file mode 100644
index 0000000..373dea1
--- /dev/null
+++ b/django/conf/locale/ar_DZ/LC_MESSAGES/django.po
@@ -0,0 +1,1379 @@
1# This file is distributed under the same license as the Django package.
2#
3# Translators:
4# Riterix <infosrabah@gmail.com>, 2019-2020
5# Riterix <infosrabah@gmail.com>, 2019
6msgid ""
7msgstr ""
8"Project-Id-Version: django\n"
9"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2020-05-19 20:23+0200\n"
11"PO-Revision-Date: 2020-07-14 21:42+0000\n"
12"Last-Translator: Transifex Bot <>\n"
13"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/"
14"language/ar_DZ/)\n"
15"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Language: ar_DZ\n"
19"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
20"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
21
22msgid "Afrikaans"
23msgstr "الإفريقية"
24
25msgid "Arabic"
26msgstr "العربية"
27
28msgid "Algerian Arabic"
29msgstr "العربية الجزائرية"
30
31msgid "Asturian"
32msgstr "الأسترية"
33
34msgid "Azerbaijani"
35msgstr "الأذربيجانية"
36
37msgid "Bulgarian"
38msgstr "البلغارية"
39
40msgid "Belarusian"
41msgstr "البيلاروسية"
42
43msgid "Bengali"
44msgstr "البنغالية"
45
46msgid "Breton"
47msgstr "البريتونية"
48
49msgid "Bosnian"
50msgstr "البوسنية"
51
52msgid "Catalan"
53msgstr "الكتلانية"
54
55msgid "Czech"
56msgstr "التشيكية"
57
58msgid "Welsh"
59msgstr "الويلز"
60
61msgid "Danish"
62msgstr "الدنماركية"
63
64msgid "German"
65msgstr "الألمانية"
66
67msgid "Lower Sorbian"
68msgstr "الصربية السفلى"
69
70msgid "Greek"
71msgstr "اليونانية"
72
73msgid "English"
74msgstr "الإنجليزية"
75
76msgid "Australian English"
77msgstr "الإنجليزية الإسترالية"
78
79msgid "British English"
80msgstr "الإنجليزية البريطانية"
81
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches