Bug #39647
tableur : contrôle de l'unicité des slugs de requêtes
Début:
07 février 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
File "/usr/lib/python2.7/dist-packages/passerelle/apps/csvdatasource/models.py" in select 297. query = Query.objects.get(resource=self.id, slug=query_name) File "/usr/lib/python2.7/dist-packages/django/db/models/manager.py" in manager_method 85. return getattr(self.get_queryset(), name)(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/django/db/models/query.py" in get 384. (self.model._meta.object_name, num) Exception Type: MultipleObjectsReturned at /csvdatasource/signalements/query/sous_type_sans_filtre/ Exception Value: get() returned more than one Query -- it returned 2!
Fichiers
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a environ 4 ans
- Fichier 0001-csvdatasource-Query-slug-unicity-39647.patch 0001-csvdatasource-Query-slug-unicity-39647.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
avant la migration 0014:
passerelle=> select * from csvdatasource_query; id | slug | filters | projections | order | distinct | structure | resource_id | description | label ----+-------+---------+-------------+-------+----------+-----------+-------------+-------------+------- 1 | query | | | | | dict | 1 | | query 2 | query | | | | | dict | 1 | | query (2 lignes)
après la migration 0014:
passerelle=> select * from csvdatasource_query; id | slug | filters | projections | order | distinct | structure | resource_id | description | label ----+---------+---------+-------------+-------+----------+-----------+-------------+-------------+------- 1 | query | | | | | dict | 1 | | query 2 | query-1 | | | | | dict | 1 | | query (2 lignes)
Mis à jour par Thomas Noël il y a environ 4 ans
Je crois que « slug = models.SlugField(_('Name (slug)'), unique=True) » va rendre impossible l'usage d'un même slug sur deux ressources distinctes... Or ce qu'on veut c'est une unicité de (resource, slug)
Mis à jour par Lauréline Guérin il y a environ 4 ans
mais oui, c'est pas faux !
je corrige ça de suite :)
Mis à jour par Lauréline Guérin il y a environ 4 ans
Mis à jour par Thomas Noël il y a environ 4 ans
Un poil la flemme de tester (je survole d'autres choses), alors je pose la question : ça donne quel message sur l'UI quand on veut ajouter une requête et qu'il y a conflit de slug ?
Mis à jour par Lauréline Guérin il y a environ 4 ans
une erreur auto-gérée par django:
Un object Query avec ces champs Resource et Name (slug) existe déjà.
Mis à jour par Thomas Noël il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Ça passe. (Si qqun est pas content il fera un autre ticket)
Mis à jour par Lauréline Guérin il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 11214a4ef450f36d1be7e47460daf9a9c6254ae6 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Thu Feb 13 16:32:53 2020 +0100 csvdatasource: Query slug unicity (#39647)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
csvdatasource: Query slug unicity (#39647)