graphql-python / graphql-python/graphql-core-legacy

Violation of Liskov Substitution Principle

Ouverte
#247 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
371
Forks
175
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

https://github.com/graphql-python/graphql-core/blob/3ba7f9218bca7a039b109b103cf57b1511d970c7/graphql/execution/executor.py#L704

Above referenced line violates Liskov Substitution Principle when used with at least Graphene-Django and the underlying model is itself a subclass of aDjangoObjectType.Meta.model class.

A popular variant of this violation is use of django-polymorphic, which is quite prevalent. However, we're talking basic Python here.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez à graphql/execution/executor.py#L704 et lisez la logique d’exécution environnante pour comprendre comment les sous-classes de modèles Django sont gérées. Reproduisez le comportement signalé avec Graphene-Django et, si disponible, django-polymorphic, puis identifiez le comportement de substitution attendu et ajoutez une couverture de régression. C’est terminé lorsque le scénario de sous-classe signalé fonctionne sans casser le comportement d’exécution existant.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
api, backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.