Vues Discipline

DisciplineListView

Endpoint : GET /api/discipline/

  • Liste toutes les disciplines triées par nom

  • Recherche : Paramètre ?search= pour filtrer par nom (insensible à la casse)

  • Optimisation : Utilise select_related() pour les performances

  • Permissions : Accessible à tous

class api.views.discipline.DisciplineListView(**kwargs)

Bases : ListAPIView

Vue pour lister les disciplines avec possibilité de recherche.

Permet de récupérer la liste des disciplines sportives disponibles. Supporte la recherche par nom via le paramètre “search”. Les résultats sont triés par ordre alphabétique du nom. Accessible à tous les utilisateurs (authentifiés ou non).

Variables:
  • serializer_class – Sérialiseur utilisé pour la vue

  • permission_classes – Permissions requises pour accéder à la vue

serializer_class

alias de DisciplineSerializer

permission_classes = [<class 'rest_framework.permissions.AllowAny'>]
get_queryset()

Récupère le queryset des disciplines avec filtrage optionnel.

Renvoie:

Les disciplines filtrées et triées par nom

Type renvoyé:

QuerySet[Discipline]

DisciplineDetailView

Endpoint : GET /api/discipline/{id}/

  • Récupère une discipline par son ID

  • Permissions : Accessible à tous

class api.views.discipline.DisciplineDetailView(**kwargs)

Bases : RetrieveAPIView

Vue pour récupérer les détails d’une discipline spécifique.

Permet de récupérer les informations détaillées d’une discipline via son identifiant unique. Accessible à tous les utilisateurs (authentifiés ou non).

Variables:
  • queryset – Queryset des disciplines

  • serializer_class – Sérialiseur utilisé pour la vue

  • permission_classes – Permissions requises pour accéder à la vue

queryset = <QuerySet [<Discipline: Athlétisme>, <Discipline: Aviron>, <Discipline: Escrime>, <Discipline: Football>, <Discipline: Gymnastique>, <Discipline: Judo>, <Discipline: Natation>, <Discipline: Tennis>, <Discipline: Tir à l'arc>, <Discipline: Volley-ball>]>
serializer_class

alias de DisciplineSerializer

permission_classes = [<class 'rest_framework.permissions.AllowAny'>]

DisciplineCreateView

Endpoint : POST /api/discipline/create/

  • Crée une nouvelle discipline

  • Permissions : Admin authentifié uniquement

class api.views.discipline.DisciplineCreateView(**kwargs)

Bases : CreateAPIView

Vue pour créer une nouvelle discipline.

Permet aux administrateurs authentifiés de créer de nouvelles disciplines sportives. Nécessite une authentification et des permissions d’administrateur.

Variables:
  • queryset – Queryset des disciplines

  • serializer_class – Sérialiseur utilisé pour la vue

  • permission_classes – Permissions requises pour accéder à la vue

queryset = <QuerySet [<Discipline: Athlétisme>, <Discipline: Aviron>, <Discipline: Escrime>, <Discipline: Football>, <Discipline: Gymnastique>, <Discipline: Judo>, <Discipline: Natation>, <Discipline: Tennis>, <Discipline: Tir à l'arc>, <Discipline: Volley-ball>]>
serializer_class

alias de DisciplineSerializer

permission_classes = [<class 'rest_framework.permissions.IsAuthenticated'>, <class 'authentication.permissions.IsAdmin'>]

DisciplineUpdateView

Endpoint : PUT/PATCH /api/discipline/update/{id}/

  • Met à jour une discipline existante

  • Permissions : Admin authentifié uniquement

class api.views.discipline.DisciplineUpdateView(**kwargs)

Bases : UpdateAPIView

Vue pour mettre à jour une discipline existante.

Permet aux administrateurs authentifiés de modifier les informations d’une discipline existante. Nécessite une authentification et des permissions d’administrateur.

Variables:
  • queryset – Queryset des disciplines

  • serializer_class – Sérialiseur utilisé pour la vue

  • permission_classes – Permissions requises pour accéder à la vue

queryset = <QuerySet [<Discipline: Athlétisme>, <Discipline: Aviron>, <Discipline: Escrime>, <Discipline: Football>, <Discipline: Gymnastique>, <Discipline: Judo>, <Discipline: Natation>, <Discipline: Tennis>, <Discipline: Tir à l'arc>, <Discipline: Volley-ball>]>
serializer_class

alias de DisciplineSerializer

permission_classes = [<class 'rest_framework.permissions.IsAuthenticated'>, <class 'authentication.permissions.IsAdmin'>]

DisciplineDeleteView

Endpoint : DELETE /api/discipline/delete/{id}/

  • Supprime une discipline

  • Permissions : Admin authentifié uniquement

class api.views.discipline.DisciplineDeleteView(**kwargs)

Bases : DestroyAPIView

Vue pour supprimer une discipline.

Permet aux administrateurs authentifiés de supprimer une discipline existante. Nécessite une authentification et des permissions d’administrateur.

Variables:
  • queryset – Queryset des disciplines

  • serializer_class – Sérialiseur utilisé pour la vue

  • permission_classes – Permissions requises pour accéder à la vue

queryset = <QuerySet [<Discipline: Athlétisme>, <Discipline: Aviron>, <Discipline: Escrime>, <Discipline: Football>, <Discipline: Gymnastique>, <Discipline: Judo>, <Discipline: Natation>, <Discipline: Tennis>, <Discipline: Tir à l'arc>, <Discipline: Volley-ball>]>
serializer_class

alias de DisciplineSerializer

permission_classes = [<class 'rest_framework.permissions.IsAuthenticated'>, <class 'authentication.permissions.IsAdmin'>]