Development #45100
common.Role.emails: (postgres.E003) ArrayField default should be a callable instead of an instance so that it's not shared between all field instances.
Début:
14 juillet 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
System check identified some issues: WARNINGS: common.Role.emails: (postgres.E003) ArrayField default should be a callable instead of an instance so that it's not shared between all field instances. HINT: Use a callable instead, e.g., use `list` instead of `[]`.
Fichiers
Révisions associées
Historique
Mis à jour par Valentin Deniaud il y a presque 4 ans
- Fichier 0001-common-use-a-callable-as-default-in-ArrayField-45100.patch 0001-common-use-a-callable-as-default-in-ArrayField-45100.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a presque 4 ans
Ça ne provoque pas de migration ? (en SQL j'imagine que non mais le makemigrations est parfois tatasse)
Mis à jour par Valentin Deniaud il y a presque 4 ans
- Fichier 0001-common-use-a-callable-as-default-in-ArrayField-45100.patch 0001-common-use-a-callable-as-default-in-ArrayField-45100.patch ajouté
Yep, bien vu
Mis à jour par Valentin Deniaud il y a presque 4 ans
- Fichier 0001-common-use-a-callable-as-default-in-ArrayField-45100.patch 0001-common-use-a-callable-as-default-in-ArrayField-45100.patch ajouté
(avec git add c'est mieux)
Mis à jour par Thomas Noël il y a presque 4 ans
J'aurais dû être plus précis, comme cette migration ne fait rien, on peut l'ajouter "à la main" sur la migration précédente :
--- a/hobo/agent/common/migrations/0003_auto_20200707_1656.py +++ b/hobo/agent/common/migrations/0003_auto_20200707_1656.py @@ -16,7 +16,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='role', name='emails', - field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), default=[], size=None), + field=django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=128), default=list, size=None),
Django sera content et ça évitera que cette migration soit jouée lors du prochain migrate_schemas.
Mis à jour par Valentin Deniaud il y a presque 4 ans
Mis à jour par Thomas Noël il y a presque 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Valentin Deniaud il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 10181c833365f4e9089214bea98b1feff05c7e5d Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Jul 15 09:47:48 2020 +0200 common: use a callable as default in ArrayField (#45100)
Mis à jour par Frédéric Péters il y a presque 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
common: use a callable as default in ArrayField (#45100)