Projet

Général

Profil

Bug #67856

AttributeError: 'datetime.datetime' object has no attribute 'startswith'

Ajouté par Sentry Io il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
01 août 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

https://sentry.entrouvert.org/entrouvert/publik/issues/62652/

AttributeError: 'datetime.datetime' object has no attribute 'startswith'
(40 additional frame(s) were not displayed)
...
  File "<unknown source>", line 1
    {% autoescape off %}{{ cards|objects:&quot;sun_inventaire_attribution&quot;|filter_by:&quot;att_id&quot;|filter_value:form_var_att_id|order_by:form_receipt_datetime|first|get:&quot;form_internal_id&quot; }}{% endautoescape %}

Fichiers

Révisions associées

Révision 4ace5a41 (diff)
Ajouté par Frédéric Péters il y a plus d'un an

misc: check value passed to |order_by is a string (#67856)

Historique

#1

Mis à jour par Nicolas Roche il y a plus d'un an

  • Projet changé de Suivi des traces à w.c.s.

Dans cette action de modification des fiches,
https://demarches-tao-thononagglo.test.entrouvert.org/backoffice/workflows/49/status/16/items/3/

On avait ce ciblage :
https://demarches-tao-thononagglo.test.entrouvert.org/backoffice/workflows/49/history/compare?version1=5915&version2=5916&mode=inspect

{{ cards|objects:"sun_inventaire_attribution"|filter_by:"att_id"|filter_value:form_var_att_id|order_by:form_receipt_datetime|first|get:"form_internal_id" }}

où le filtre first sur une date provoque la trace (ex d'inspecteur où le contexte est disponible : https://demarches-tao-thononagglo.test.entrouvert.org/backoffice/data/sun_inventaire_materiel/95/inspect)
(aucune idée de s'il faut sortir sur une trace ou pas ici)

#2

Mis à jour par Thomas Noël il y a plus d'un an

De ma lecture, first ne fait pas d'appel à startswith. Ca doit être autre chose...

#3

Mis à jour par Thomas Noël il y a plus d'un an

C'est le order_by:form_receipt_datetime qui est mal fichu, ça doit être order_by:"form_receipt_datetime"

Autrement dit :

{{ cards|objects:"sun_inventaire_attribution"|filter_by:"att_id"|filter_value:form_var_att_id|order_by:"form_receipt_datetime"|first|get:"form_internal_id" }}

#4

Mis à jour par Frédéric Péters il y a plus d'un an

  • Assigné à mis à Frédéric Péters
#5

Mis à jour par Frédéric Péters il y a plus d'un an

#6

Mis à jour par Thomas Noël il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée

Je ne sais pas si on a besoin/envie d'ajouter un unlazy, je dirais que ça me semble inutile, mais au cas où, tu pourras l'ajouter. Je valide ainsi en tout cas.

#7

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)

Il y a un unlazy au niveau du filtre, ça suffit,

@register.filter
def order_by(queryset, attribute):
    return queryset.order_by(unlazy(attribute))
commit 4ace5a41e33831b7dcccb630679bf5cde398598b
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Aug 2 14:05:49 2022 +0200

    misc: check value passed to |order_by is a string (#67856)
#8

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#9

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF