Project

General

Profile

Development #68025

Publik - Project management #64274: montée de version django (→ 3.2 LTS)

fonctionner avec django 3.2

Added by Agate Berriot about 2 months ago. Updated about 1 month ago.

Status:
Solution déployée
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
08 August 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No
Tags:

Description

Cf tache parente


Files

Associated revisions

Revision 7c4ea510 (diff)
Added by Agate Berriot about 1 month ago

enable django 3.2 testing in tox file (#68025)

Revision 963871ce (diff)
Added by Agate Berriot about 1 month ago

fix Django 3.2 related test failures (#68025)

History

#1

Updated by Agate Berriot about 2 months ago

#2

Updated by Agate Berriot about 2 months ago

Pas grand chose à signaler, j'ai du toucher un tout petit peu à certains appels à l'ORM, et malheureusement il y a un changement d'ordering dans les résultats d'une requête qui cassait le test dans test_events_multiple_agendas.py

J'ai considéré que l'ordering n'était pas important et je me suis contentée de vérifier l'équivalence via des set, si l'ordering des overlaps est important en termes d'API, il va falloir que je trouve une solution pour le forcer au niveau de l'ORM

#3

Updated by Frédéric Péters (de retour le 10/10) about 1 month ago

  • Status changed from Solution proposée to Solution validée

Sur les intitulés des commits, on sera plutôt sur la forme "enable django 3.2 testing in tox file (#68025)" (pas de majuscule au début, impératif) / "fix Django 3.2 related test failures (#68025)".

Sur le code, ok; peut-être juste ajouter un commentaire derrière assert len(ctx.captured_queries) in (5, 6) pour dire que 5 est la valeur en django 3.2, pour plus facilement retrouver ce code quand on voudra nettoyer une fois basculés vers 3.2.

Pour ma culture perso, les output_field, ça vient de ce changement :

Value() expression now automatically resolves its output_field to the appropriate Field subclass based on the type of its provided value for bool, bytes, float, int, str, datetime.date, datetime.datetime, datetime.time, datetime.timedelta, decimal.Decimal, and uuid.UUID instances. As a consequence, resolving an output_field for database functions and combined expressions may now crash with mixed types when using Value(). You will need to explicitly set the output_field in such cases.
­— https://docs.djangoproject.com/en/3.2/releases/3.2/#models

#5

Updated by Agate Berriot about 1 month ago

  • Status changed from Solution proposée to Résolu (à déployer)
commit 963871ce43e1d21f98a4e1960b5c834b2cfbc54f
Author: Agate Berriot <aberriot@entrouvert.com>
Date:   Tue Aug 9 12:17:34 2022 +0200

    fix Django 3.2 related test failures (#68025)

commit 7c4ea5104ad753a051cae0f7e8b64e1dd5133bf4
Author: Agate Berriot <aberriot@entrouvert.com>
Date:   Tue Aug 9 09:59:17 2022 +0200

    enable django 3.2 testing in tox file (#68025)
#6

Updated by Agate Berriot about 1 month ago

Frédéric Péters a écrit :

Sur les intitulés des commits, on sera plutôt sur la forme "enable django 3.2 testing in tox file (#68025)" (pas de majuscule au début, impératif) / "fix Django 3.2 related test failures (#68025)".

Sur le code, ok; peut-être juste ajouter un commentaire derrière assert len(ctx.captured_queries) in (5, 6) pour dire que 5 est la valeur en django 3.2, pour plus facilement retrouver ce code quand on voudra nettoyer une fois basculés vers 3.2.

Effectivement, j'ai amendé les commits pour intégrer ces changements (et mergé dans la foulée) :)

#7

Updated by Valentin Deniaud about 1 month ago

Après la bataille, mais j'en profite quand même pour noter

Frédéric Péters a écrit :

Sur les intitulés des commits

Sur les commits en eux-mêmes, on préfère un commit par changement de Django, cf tous les tickets de #49998.

Et sur get_proper_html_str, je trouve qu'on gagnerait à importer django.utils.html.escape et avoir juste escape(chaine_lisible) in resp.text.

#8

Updated by Agate Berriot about 1 month ago

Valentin Deniaud a écrit :

Après la bataille, mais j'en profite quand même pour noter

Frédéric Péters a écrit :

Sur les intitulés des commits

Sur les commits en eux-mêmes, on préfère un commit par changement de Django, cf tous les tickets de #49998.

Noté

Et sur get_proper_html_str, je trouve qu'on gagnerait à importer django.utils.html.escape et avoir juste escape(chaine_lisible) in resp.text.

Je trouve aussi, mais il y a des tests dans tous les projets qui utilisent ce genre de constructions, ça serait plus intéressant de s'occuper de ça dans un ticket dédié AMHA

#9

Updated by Transition automatique about 1 month ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF