Development #32244
interface manager/queryset sur les formdata, pour les gabarits
0%
Description
Pour afficher les demandes à proximité, j'utilisais précédemment un [script etc.] alors que ça se prête plutôt bien avec l'utilisation d'un gabarit, il manque "juste" "quelques" methodes.
Fichiers
Demandes liées
Révisions associées
lazy: add queryset-like features to lazy formdef (#32244)
{% for formdata in form.formdef.objects.pending %} {{formdata.number}} {% endfor %}
Historique
Mis à jour par Frédéric Péters il y a presque 5 ans
- Fichier 0002-lazy-add-queryset-like-features-to-lazy-formdef-3224.patch 0002-lazy-add-queryset-like-features-to-lazy-formdef-3224.patch ajouté
- Fichier 0001-misc-rename-move-FormDefSubstVar-to-lazy-variables-m.patch 0001-misc-rename-move-FormDefSubstVar-to-lazy-variables-m.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
(tests à ajouter, et utilisation en vrai pour voir ce qu'il faudrait encore comme méthodes)
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
Elle est où la partie "pour les demandes à proximité" ?
Mis à jour par Frédéric Péters il y a presque 5 ans
"Dans l'objectif général de passer par des gabarits pour l'affichage des demandes à proximité, une première étape.".
Mis à jour par Frédéric Péters il y a presque 5 ans
- Bloque Development #32263: proposer la réouverture d'un brouillon en début de saisie ajouté
Mis à jour par Frédéric Péters il y a presque 5 ans
- Fichier 0002-lazy-add-queryset-like-features-to-lazy-formdef-3224.patch 0002-lazy-add-queryset-like-features-to-lazy-formdef-3224.patch ajouté
- Statut changé de En cours à Solution proposée
Pour également être utile dans #32263, j'étends ce patch avec la possibilité de filter sur les brouillons, sur l'usager connecté, et un getitem nécessaire pour faire ...objects.drafts.0.internal_id.
Avec les tests complétés pour valider tout ça.
(en passant ça ajoute un select_iterator() bidon au stockage pickle)
Mis à jour par Frédéric Péters il y a presque 5 ans
- Fichier 0002-lazy-add-queryset-like-features-to-lazy-formdef-3224.patch 0002-lazy-add-queryset-like-features-to-lazy-formdef-3224.patch ajouté
Le __len__
n'était pas testé (et comportait du coup une erreur), voilà.
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
- Statut changé de Solution proposée à Solution validée
- Je ne crois pas que Django efface les filtres en cours sur un
.all()
:def all(self): # (mimicking django) return LazyFormDefObjectsManager(self._formdef)
Django fait justereturn self._clone()
- La mise en cache du queryset n'est fait que sur un accès indexé, ce n'est pas le comportement Django qui est systématique, mais il y a peut-être une raison; si on veut proposer les deux possibilités je dirai de faire comme Django pour se retrouver en terrain connu: iter mets en cache, si pas souhaité, avoir un iterator() (le premier utilisant le deuxième).
criterias = [x for x in self._criterias if not getattr(x, 'exclude_drafts', False)]
un peu complexe tout ça, peut-être serait-il plus simple de proposer directement sur formdef des accesseursall_objects
ouobjects
etno_drafts
... en l'état formdef.objects.count() change de comportement (plus de drafts dans les décomptes, mais ça me parait bien), et expliciter dans ces accesseurs les critères en place
Voilà sans trop voir comment ce sera utilisé j'en suis réduit à des remarques bien générales.
Mis à jour par Frédéric Péters il y a presque 5 ans
en l'état formdef.objects.count() change de comportement (plus de drafts dans les décomptes, mais ça me parait bien).
Oui, j'étais même sûr d'avoir un "XXX: should exclude drafts" quelque part, que je ne retrouve pas.
Voilà sans trop voir comment ce sera utilisé j'en suis réduit à des remarques bien générales.
#32263 l'exploite.
Mis à jour par Frédéric Péters il y a presque 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 22fc1227dd053667f940d4ca1476ebd0fad05f8f Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Apr 12 15:21:29 2019 +0200 lazy: add queryset-like features to lazy formdef (#32244) {% for formdata in form.formdef.objects.pending %} {{formdata.number}} {% endfor %} commit e0d82144a793f293404a165996c8482371f5a321 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Apr 12 15:03:24 2019 +0200 misc: rename/move FormDefSubstVar to lazy variables module (#32244)
Mis à jour par Frédéric Péters il y a presque 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: rename/move FormDefSubstVar to lazy variables module (#32244)