From bf9bfa24d6f6b24290ef4b1e175482ffb413080e Mon Sep 17 00:00:00 2001 From: Fred Pauchet Date: Tue, 27 Oct 2020 21:45:24 +0100 Subject: [PATCH] [WIP] Review objectives --- src/objective/admin.py | 5 +++-- src/objective/models.py | 45 +++++++++++++++++++++++++++++++---------- 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/src/objective/admin.py b/src/objective/admin.py index 7cc2677..e74fe0a 100644 --- a/src/objective/admin.py +++ b/src/objective/admin.py @@ -1,6 +1,7 @@ from django.contrib import admin -# Register your models here. +from django_extensions.admin import ForeignKeyAutocompleteAdmin + from .models import ( Educative, TouchPosition, @@ -9,7 +10,7 @@ from .models import ( Routine_Skill, Chrono, ) -from django_extensions.admin import ForeignKeyAutocompleteAdmin + class TouchPositionAdmin(admin.ModelAdmin): diff --git a/src/objective/models.py b/src/objective/models.py index 47fe5f3..bef7dce 100644 --- a/src/objective/models.py +++ b/src/objective/models.py @@ -1,15 +1,27 @@ -# coding=UTF-8 +"""Modélisation des éducatifs, objectifs et des compétences.""" from datetime import date + +from django.contrib.auth.models import User from django.db import models from django.db.models import Q + from base.models import Markdownizable -from django.contrib.auth.models import User class Educative(Markdownizable): - """ - Classe `mère`. + """Un éducatif représente une étape d'apprentissage. + + Elle sert de classe "mère" pour toutes les autres choses pouvant être apprises. + + Elle est décrite par: + * Un libellé court et long + * Une difficulté + * Un niveau + * Des prérequis à réaliser + * Un âge minimum auquel il peut être réalisé, suivant que le gymnaste soit une fille ou un garçon + + Un éducatif peut être lié à plusieurs autres éducatifs. """ class Meta: @@ -76,13 +88,25 @@ def get_default_position(): class Skill(Educative): - """ - Classe représentant une figure (aka un saut acrobatique). - """ + """Les `skills` représentent une figure ou un saut acrobatique. - # SELECT * FROM `objective_skill` WHERE educative_ptr_id NOT IN (SELECT DISTINCT(from_educative_id) FROM `objective_educative_prerequisite`) + Chaque saut est caractérisé par: + * Une position de départ + * Une position d'arrivée + * Un type de rotation - # SELECT * FROM `objective_skill`, `objective_educative` WHERE `objective_educative`.id = `objective_skill`.educative_ptr_id + Remarks: + * Notation et simply_notation ? + * A quoi correspond la `position`, sachant qu'on a déjà la position de début et d'arrivée + * C'est quoi, le `twist`? + * Et le champ `is_competitive` ? + + Notes: + * La nomenclature n'est pas top. + rotationType -> rotation_type + simplyNotation -> simple_notation + + """ class Meta: verbose_name = "Skill" @@ -134,8 +158,7 @@ class Skill(Educative): class Routine(Educative): - """ - Classe représentant une série (enchainement de plusieurs figures). + """Une routine représente une série, càd un enchaînement de plusieurs figures. """ class Meta: