Development #33563
.extends va des fois ajouter plusieurs fois les mêmes données à une liste
0%
Description
Voir #32374 pour un cas pratique.
Fichiers
Révisions associées
factorize loader instance creation (#33563)
stop threading wrapped around (#33563)
code style (#33563)
tests_multitenant: add test on settings.json reloading (#33563)
create a new UserSettingsHolder on each reload of tenant settings (#33563)
Historique
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
En lisant le code ça parait assez logique, on ne ré-instancie pas UserSettingsHolder à chaque rechargement.
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
- Fichier 0001-code-style-33563.patch 0001-code-style-33563.patch ajouté
- Fichier 0005-tests_multitenant-add-test-on-settings.json-reloadin.patch 0005-tests_multitenant-add-test-on-settings.json-reloadin.patch ajouté
- Fichier 0003-stop-threading-wrapped-around-33563.patch 0003-stop-threading-wrapped-around-33563.patch ajouté
- Fichier 0002-factorize-loader-instance-creation-33563.patch 0002-factorize-loader-instance-creation-33563.patch ajouté
- Fichier 0004-code-style-33563.patch 0004-code-style-33563.patch ajouté
- Fichier 0006-create-a-new-UserSettingsHolder-on-each-reload-of-te.patch 0006-create-a-new-UserSettingsHolder-on-each-reload-of-te.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Voilà.
Avant le 0006, le test fait ça :
# check EXTEND_ME is still extended from base value for tenant in tenants: with tenant_context(tenant): > assert django.conf.settings.EXTEND_ME == [1, 3] E assert [1, 2, 3] == [1, 3] E At index 1 diff: 2 != 3 E Left contains more items, first extra item: 3 E Use -v to get the full diff tests_multitenant/test_settings.py:305: AssertionError
après il passe.
Mis à jour par Frédéric Péters il y a presque 5 ans
C'est (pour moi) un peu compliqué de relire quand il y a des commits sans rapport qui se mélangent sans explication; "ok" pour les trucs de style mais le 0002, avoir quelques mots de pourquoi il arrive ici, ça serait pas mal. (histoire de ne pas demander au relecteur de voir ce que ça peut avoir comme conséquence, de chercher dans les autres commits ce que ça peut apporter, etc.).
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
Frédéric Péters a écrit :
C'est (pour moi) un peu compliqué de relire quand il y a des commits sans rapport qui se mélangent sans explication; "ok" pour les trucs de style mais le 0002, avoir quelques mots de pourquoi il arrive ici, ça serait pas mal. (histoire de ne pas demander au relecteur de voir ce que ça peut avoir comme conséquence, de chercher dans les autres commits ce que ça peut apporter, etc.).
C'est juste que je trouvais le code peu lisible, ça rend le 0006 plus évident (je trouve), et j'ai veillé à séparer les refactoring entre juste la factorisation d'un code et la suppression d'un paramètre inutile.
Mis à jour par Nicolas Roche il y a presque 5 ans
- Statut changé de Solution proposée à Solution validée
- si je prend juste le test j'obtiens la même erreur
- si j'ajoute cette ligne (cf 0006) dans hobo/multitenant/settings.py le test passe
def load_tenant_settings(... # something is new, call all loaders <<< --- tenant_settings = UserSettingsHolder(self.default_settings) >>>
ok aussi pour le reste (mise en forme, factorisation et simplification du code).
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit e5b4fe9adfc8bc28fe2f0f8c2d9992c4cd527d69 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed May 29 19:01:54 2019 +0200 create a new UserSettingsHolder on each reload of tenant settings (#33563) commit 5e1b5a1169f8def56605a172434305137f2c7b1b Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu May 30 09:09:16 2019 +0200 tests_multitenant: add test on settings.json reloading (#33563) commit 570722b01a524a1adc5d16f276b9df519430b226 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu May 30 08:33:09 2019 +0200 code style (#33563) commit c5a247cb673d70e819d3d4d034c46782ec71805d Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed May 29 19:01:31 2019 +0200 stop threading wrapped around (#33563) commit 0a7f6f9b5d9a76324ac11e5bbc143eb86398e865 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed May 29 18:56:46 2019 +0200 factorize loader instance creation (#33563) commit f3bea0612fa518266f908c082c9bcd74070a408b Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed May 29 18:52:37 2019 +0200 code style (#33563)
Mis à jour par Frédéric Péters il y a presque 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
code style (#33563)