Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Résolution d'une erreur obscure AttributeError: 'NoneType' object has no attribute 'total_seconds' dans l'import SIAE depuis la MAJ django 4. #1043

Merged
merged 1 commit into from
Dec 23, 2021

Conversation

dejafait
Copy link
Contributor

@dejafait dejafait commented Dec 23, 2021

Quoi ?

Résolution d'une erreur obscure AttributeError: 'NoneType' object has no attribute 'total_seconds' dans l'import SIAE depuis la MAJ django 4.

Pourquoi ?

L'erreur se produit depuis la récente MAJ django 4 et dépendances. Elle se produit même avec pandas 1.3.5 (nous sommes actuellement sur la 1.3.4).

Le bug semble connu côté pandas et non résolu : pandas-dev/pandas#43516

Il semble se produire quand on itère sur les rows d'une df contenant des timezone aware datetimes.

Comment ?

La source de l'erreur fut difficile à trouver car l'erreur se produit au moment de l'itération sur la df et non au moment où les datetimes problématiques sont créées dans la df.

La solution est un pur contournement : on transforme les datetimes en "timezone aware" datetimes uniquement à la volée, sans jamais les restocker dans la df pour éviter l'erreur.

J'avoue ne pas avoir complètement compris les tenants et les aboutissements mais ce fix me parait suffisant, surtout parce qu'il me débloque sur un autre sujet.

@dejafait dejafait self-assigned this Dec 23, 2021
Copy link
Contributor

@SebastienReuiller SebastienReuiller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
Effectivement, ça me semble être un contournement efficace, bien joué !

@dejafait dejafait force-pushed the vgrange/fix_import_siae branch from 5fc8bab to 987a58a Compare December 23, 2021 16:21
@dejafait dejafait merged commit cd4013f into master Dec 23, 2021
@dejafait dejafait deleted the vgrange/fix_import_siae branch December 23, 2021 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants