Development #49188
préparer la compatibilité django 2.2
0%
Description
Faire des :
-from django.core.urlresolvers import reverse +from django.urls import reverse
Ajouter des on_delete dans les modèles, etc.
Fichiers
Demandes liées
Révisions associées
django22: fix force_text import (#49188)
django22: on_delete on ForeignKey and OneToOne fields (#49188)
django22: WEEKDAYS_REV is removed in django 2.1 (#49188)
django22: rename permissions(#49188)
to avoid conflicts with new _view permissions introduced in django 2.1
https://docs.djangoproject.com/en/3.1/releases/2.1/#model-view-permission
django22: RegexURLPattern was renamed in 2.0 (#49188)
django22: fix tests (logs) (#49188)
django22: declare django2.2 in setup and tox (#49188)
Historique
Mis à jour par Emmanuel Cazenave il y a plus de 3 ans
- Bloque Development #49283: Compatibilité django 2.2 ajouté
Mis à jour par Lauréline Guérin il y a plus de 3 ans
En django 2.1, ils ajoutent une auto permission view
https://docs.djangoproject.com/en/3.1/releases/2.1/#model-view-permission
Or on a déjà une permission view_accessright
sur le model AccessRight
.
Si on la conserve sans la renommer, en 2.2 un user avec cette permissions pourrait accéder à l'admin
https://docs.djangoproject.com/en/3.1/releases/2.1/#new-default-view-permission-could-allow-unwanted-access-to-admin-views
Est-ce que c'est ok ?
Mis à jour par Frédéric Péters il y a plus de 3 ans
Sûr on peut renommer mais ça m'irait aussi de virer le /admin/
Mis à jour par Lauréline Guérin il y a plus de 3 ans
Il vaut mieux renommer, c'est galère à gérer en fonction de la version de django
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0010-misc-remove-warning-unclosed-file-on-import_site-com.patch 0010-misc-remove-warning-unclosed-file-on-import_site-com.patch ajouté
- Fichier 0009-tests-remove-warning-unclosed-file.patch 0009-tests-remove-warning-unclosed-file.patch ajouté
- Fichier 0008-django22-declare-django2.2-in-setup-and-tox-49188.patch 0008-django22-declare-django2.2-in-setup-and-tox-49188.patch ajouté
- Fichier 0007-django22-fix-tests-logs-49188.patch 0007-django22-fix-tests-logs-49188.patch ajouté
- Fichier 0006-django22-RegexURLPattern-was-renamed-in-2.0-49188.patch 0006-django22-RegexURLPattern-was-renamed-in-2.0-49188.patch ajouté
- Fichier 0005-django22-rename-permissions-49188.patch 0005-django22-rename-permissions-49188.patch ajouté
- Fichier 0004-django22-WEEKDAYS_REV-is-removed-in-django-2.1-49188.patch 0004-django22-WEEKDAYS_REV-is-removed-in-django-2.1-49188.patch ajouté
- Fichier 0003-django22-on_delete-on-ForeignKey-and-OneToOne-fields.patch 0003-django22-on_delete-on-ForeignKey-and-OneToOne-fields.patch ajouté
- Fichier 0002-django22-fix-force_text-import-49188.patch 0002-django22-fix-force_text-import-49188.patch ajouté
- Fichier 0001-django22-import-django.urls-49188.patch 0001-django22-import-django.urls-49188.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
0009 & 0010: j'ai enlevé quelques warnings
Mis à jour par Emmanuel Cazenave il y a plus de 3 ans
0005 : cosmétique et facultatif mais comme ça m'a perturbé au début je le mentionne, j'aurais fait if Permission.objects.filter(content_type=ct, codename='view_accessright').exists()
plutôt que if not Permission.objects.filter(content_type=ct, codename='see_accessright').exists()
, et même idée sur le deuxième if
0007 : je comprends pas, que se passe-t-il ?
0008 : je passerai aussi un django>=1.11
dans le setup.py qui me semble être un oubli de #36087
Mis à jour par Lauréline Guérin il y a plus de 3 ans
0005 : cosmétique et facultatif mais comme ça m'a perturbé au début je le mentionne, j'aurais fait if Permission.objects.filter(content_type=ct, codename='view_accessright').exists()
Je préfère comme j'ai fait: au cas où, très improbable, mais possible, on crée une DB from scratch avec un django 2.1, jusqu'à la migration 0027 de base, alors les 2 permissions existeront au run de la 0028.
Alors que si lors du run de la 0027 see_access_right n'existe pas, alors c'est qu'il faut la créer.
Note: les permissions sont ajoutée en post_migrate, comme les contenttypes, donc si on est en mode DB from scratch, cette migration ne fera rien (ContentType.DoesNotExist)
0007 : je comprends pas, que se passe-t-il ?
dans django 2.2, et probablement avant, ils ont ajouté un log automatique qu'on ne peut pas débrancher dans django/core/handlers/exception.py::response_for_exception:
else: signals.got_request_exception.send(sender=None, request=request) response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info()) log_response( '%s: %s', response.reason_phrase, request.path, response=response, request=request, exc_info=sys.exc_info(), )
donc quand on lance les tests avec django 2.2, on a plus de logs qu'avant
Mis à jour par Lauréline Guérin il y a plus de 3 ans
Mis à jour par Emmanuel Cazenave il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 959febea06795dd1a6e4bf702466fdb52c83d664 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Fri Dec 11 10:11:50 2020 +0100 misc: remove warning unclosed file on import_site command commit e0291eee6296dce62e3d3a4215c4c958e6a66054 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Fri Dec 11 09:36:19 2020 +0100 tests: remove warning unclosed file commit 6da74de6ced6c9a883d0e4b89a94c5e8524b5489 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Dec 10 14:59:52 2020 +0100 django22: declare django2.2 in setup and tox (#49188) commit 9ab90f4b063b6dea0b96815ad1c2afcec80cfdf0 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Fri Dec 11 08:27:47 2020 +0100 django22: fix tests (logs) (#49188) commit 2110557290749e46576b734cde6a1707bd667e96 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Dec 10 16:33:07 2020 +0100 django22: RegexURLPattern was renamed in 2.0 (#49188) commit e8250824b1ffba3bb2547e57f92028fc1483d77b Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Dec 10 16:19:57 2020 +0100 django22: rename permissions(#49188) to avoid conflicts with new _view permissions introduced in django 2.1 https://docs.djangoproject.com/en/3.1/releases/2.1/#model-view-permission commit 19ce0c4f2ac98c969d81ae0017607ca5ea173851 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Dec 10 15:21:01 2020 +0100 django22: WEEKDAYS_REV is removed in django 2.1 (#49188) commit 2056afdc725e28b64431973633d97abe23654ffa Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Dec 10 15:13:21 2020 +0100 django22: on_delete on ForeignKey and OneToOne fields (#49188) commit 049f32d66e832a564bc094595471100e54ce9a86 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Dec 10 15:10:57 2020 +0100 django22: fix force_text import (#49188) commit eeeea14a5d639f015be38869eec11538a476f200 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Dec 10 15:03:57 2020 +0100 django22: import django.urls (#49188)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
django22: import django.urls (#49188)