Development #51724
crash export SMS : field ovh.OVHSMSGateway.alert_emails of ressource class <class 'passerelle.apps.ovh....
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/37346/
Exception: export_json: field ovh.OVHSMSGateway.alert_emails of ressource class <class 'passerelle.apps.ovh.models.OVHSMSGateway'> is unsupported (4 additional frame(s) were not displayed) ... File "django/views/generic/base.py", line 68, in view return self.dispatch(request, *args, **kwargs) File "passerelle/views.py", line 165, in dispatch request, *args, **kwargs) File "django/views/generic/base.py", line 88, in dispatch return handler(request, *args, **kwargs) File "passerelle/views.py", line 554, in get json.dump({'resources': [self.get_object().export_json()]}, response, indent=2) File "passerelle/base/models.py", line 379, in export_json field, self.__class__))
Fichiers
Révisions associées
base: export only editable fields (#51724)
Historique
Mis à jour par Frédéric Péters il y a environ 3 ans
- Sujet changé de Exception: export_json: field ovh.OVHSMSGateway.alert_emails of ressource class <class 'passerelle.apps.ovh.... à crash export SMS : field ovh.OVHSMSGateway.alert_emails of ressource class <class 'passerelle.apps.ovh....
- Projet changé de Suivi des traces à Passerelle
Mis à jour par Valentin Deniaud il y a environ 3 ans
- Fichier 0002-base-export-only-editable-fields-51724.patch 0002-base-export-only-editable-fields-51724.patch ajouté
- Fichier 0001-base-add-ArrayField-export-51724.patch 0001-base-add-ArrayField-export-51724.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Fix trivial, par contre ça cachait qu'on ne sait pas non plus exporter un DateTimeField (credit_alert_timestamp), mais en fait on a pas envie de l'exporter, tout comme le crédit restant.
Donc décision de ne pas exporter les champs marqué comme non éditables, outre ces deux là n'est concerné que _dialect_options de csvdatasource.
Mis à jour par Nicolas Roche il y a environ 3 ans
Merci je pense que l'export des autres connecteurs SMS était également cassé depuis #39650 (qui utilise aussi ArrayField).
(Je me demande comment tu as fais pour faire la liste des champs non éditable ?)
Mis à jour par Valentin Deniaud il y a environ 3 ans
Nicolas Roche a écrit :
(Je me demande comment tu as fais pour faire la liste des champs non éditable ?)
git grep editable=False
, puis à la main regarder les modèles (il y en a qui ressortent mais qui ne sont pas des modèles à exporter genre JsonData)
Mis à jour par Nicolas Roche il y a environ 3 ans
Merci, il y a 2 uuid qui ne seront plus exportés. Je ne me figure pas bien l'impact :
passerelle/apps/cryptor/models.py: uuid = models.UUIDField(primary_key=True, default=uuid4, editable=False) passerelle/apps/jsondatastore/models.py: uuid = models.CharField(_('uuid'), max_length=32, default=get_hex_uuid, editable=False, unique=True)
Mis à jour par Valentin Deniaud il y a environ 3 ans
Nicolas Roche a écrit :
Merci, il y a 2 uuid qui ne seront plus exportés. Je ne me figure pas bien l'impact :
[...]
Mais ces deux modèles ne sont pas concernés par les exports, cf ce que je dit plus haut. Genre pour l'export d'un jsondatastore on exporte pas les objets JsonData.
Mis à jour par Nicolas Roche il y a environ 3 ans
- Statut changé de Solution proposée à Solution validée
Oui, désolé (je pensais que les données étaient exportés avec les jsondatastore, comme elle le sont avec les csvdatasource).
Et _dialect_options de csvdatasource est recalculé à l'usage.
Mis à jour par Valentin Deniaud il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 4a920429db6cf270761e41dc576c754a4915510a Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Mon Mar 8 14:08:55 2021 +0100 base: export only editable fields (#51724) commit e38555bdc51b3feb1eabbffad378b50688d3df53 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Mon Mar 8 14:08:30 2021 +0100 base: add ArrayField export (#51724)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
base: add ArrayField export (#51724)