Projet

Général

Profil

Development #32553

base: supprimer related_name et related_query_name sur BaseRessource.users

Ajouté par Benjamin Dauvergne il y a presque 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
24 avril 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Comme on utilise de l'héritage sur modèle abstrait cela crée des bugs bizarres
si jamais on nomme deux modèles pareillement dans deux applications
différentes et de toute façon ces accesseurs ne servaient à rien.


Fichiers


Demandes liées

Lié à Passerelle - Development #31595: connecteur générique vers service-public.fr/MDELFermé20 mars 2019

Actions

Révisions associées

Révision 49867fa6 (diff)
Ajouté par Benjamin Dauvergne il y a presque 5 ans

models: hide related_name and related_query_name for BaseResource.users (#32553)

It creates errors if a connector names its connector model 'Resource',
as all related names on users get the same name.

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Voilà uniquement des modifications de migrations et une dans passelle.base.models.

#2

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

#3

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Appartient à la série de patch pour le connecteur générique MDEL, #31595. À valider, sera poussé après la mise en prod.

#4

Mis à jour par Thomas Noël il y a presque 5 ans

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

Juste pour info, la notation "+" est expliquée sur https://docs.djangoproject.com/fr/1.11/ref/models/fields/#django.db.models.ForeignKey.related_name :

ForeignKey.related_name

Le nom à utiliser pour la relation inverse depuis l’objet lié vers celui-ci. Il s’agit aussi de la valeur par défaut de related_query_name (le nom à utiliser comme nom de filtre inverse à partir du modèle cible). Voir la documentation des objets liés pour une explication complète et des exemples. Notez que vous devez définir cette valeur quand vous définissez une relation pour un modèle abstrait ; et quand vous le faites, une syntaxe particulière est autorisée.

Si vous préférez que Django ne crée pas de relation inverse, définissez related_name à '+' ou terminez ce nom avec '+'. Par exemple, ceci assure que le modèle User n’aura pas de relation inverse à ce modèle :

    user = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
        related_name='+',
    )
#5

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 49867fa6b793151a3ef7c79769ea01f0b6dc0f58
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Sat Apr 6 13:46:47 2019 +0200

    models: hide related_name and related_query_name for BaseResource.users (#32553)

    It creates errors if a connector names its connector model 'Resource',
    as all related names on users get the same name.
#6

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

Formats disponibles : Atom PDF