Development #93896
LazyDateObject fait mauvais ménage avec Django 4
0%
Description
Django 4 passe de pytz à zoneinfo et ça change pas mal par où passe le code.
Sur un simple {{ now }}
on passe désormais par une méthode Django qui va fait un tz.utcoffset(dt)
avec dt de type LazyDateObject, et ça produit une erreur de segmentation.
On pourrait dire que le problème est plus général, par exemple j'arrive à faire planter le code actuel en 3.2 en tapant {{ now|time:"O" }}
, qui produit « unsupported operand type(s) for +: 'LazyDateObject' and 'datetime.timedelta' ».
#29406 a introduit ces objets, de la description
Via des SimpleLazyObject proposés par Django, on peut surcharger eq/ne/gt/lt/etc. et faire en sorte que "now" et "today" acceptent d'être comparer à date ou datetime, indifféremment.
je ne comprends pas bien pourquoi hériter de SimpleLazyObject, pourquoi pas juste hériter de datetime et surcharger les opérateur pareillement.
Related issues
Associated revisions
misc: use accurate naming for custom date objects (#93896)
History
Updated by Robot Gitea 2 months ago
- Status changed from Nouveau to En cours
Valentin Deniaud (vdeniaud) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1702
- Titre : WIP: variables: remove unneeded laziness from custom date objects (#93896)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1702/files
Updated by Robot Gitea 2 months ago
- Status changed from Solution proposée to Solution validée
Frédéric Péters (fpeters) a approuvé une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea 2 months ago
- Status changed from Solution validée to Résolu (à déployer)
Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1702
- Titre : variables: remove unneeded laziness from custom date objects (#93896)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1702/files
Updated by Transition automatique 2 months ago
- Status changed from Résolu (à déployer) to Solution déployée
Updated by Valentin Deniaud about 2 months ago
- Related to Development #93785: Compatibilité Django 4.2 added
variables: remove unneeded laziness from custom date objects (#93896)