Django-fr

Forum

#1 27-12-2016 17:32:13

rxzelly
Membre
Inscription : 27-12-2016
Messages : 1

[Projet jeu fantasy] Soucis sur les formulaires

Bonjour à tous,

Dans le cadre d'un projet scolaire en DUT je dois réaliser un jeu fantasy sur le Rugby. Le principe est simple : Chaque joueur devra sélectionner les 15 meilleurs rugbymans professionnels du moment et créer sa propre équipe de rêve. Un système de classement basé sur des points est mis en place pour gratifier les meilleurs concepteurs d'équipes fantaisies. Il y a plusieurs façons de gagner des points basés sur des valeurs définies par rapport aux performances individuelles des rugbymans composant votre équipe.

N'ayant aucun expérience en django, je n'arrive pas à créer un formulaire spécifique pour ajouter dans ma base de donnée les rugbymans dans mon modele.

Je possède actuellement 3 models , le modèle équipe permet d'ajouter une équipe telle que le stade toulousain , ensuite le modèle Rugbyman permet d'ajouter un rugbyman avec son poste et l'équipe à laquelle il appartient , et enfin le modèle Fantasy permet de créer son équipe Fantasy et d'y ajouter des rugbymans. J'utilise une relation many2many dans ce model pour ajouter plusieurs rugbymans.

class Equipe(models.Model):
    nom_equipe = models.CharField(max_length=100, unique=True)
    
    def __str__(self):
        return self.nom_equipe

    class Meta:
            ordering = ('nom_equipe',)

class Rugbyman(models.Model):
    nom_rugbyman = models.CharField(max_length=100)
    ref_equipe = models.ForeignKey(Equipe, on_delete=models.CASCADE)
    LISTE_POSTES = (
        ('AI', 'Ailier'),
        ('C', 'Centre'),
        ('DO', 'Demi-ouverture'),
        ('DM', 'Demi de melee'),
        ('TL', 'Troisieme ligne'),
        ('DL', 'Deuxieme ligne'),
        ('PL', 'Premiere ligne'),
    )
    poste = models.CharField(max_length=2, null=True, choices=LISTE_POSTES)
    def __str__(self):
        return self.nom_rugbyman

    class Meta:
        ordering = ('nom_rugbyman',)
        
class Fantasy(models.Model):
    nom_fantasy = models.CharField(max_length=100, unique=True)
    user = models.OneToOneField(User, default=1)
    rugbymans = models.ManyToManyField(Rugbyman)

    def __str__(self):
        return self.nom_fantasy

    class Meta:
            ordering = ('nom_fantasy',)

Voila ce que j'obtient pour le moment avec mon formulaire pour créer une team fantasy :

399988formulaire.png

Mais j'aimerai que mon formulaire lors de la création de l'équipe Fantasy permettent d'imposer le nombre de rugbyman pour qu'une équipe soit complète ( 15 rugbymans) et de trier les rugbymans par leur poste et leur équipe avec des menu déroulant ( on ne peut pas avoir 3 demi de mélée par exemple). Mais je ne sais pas comment m'y prendre.

Par exemple avoir :

Nom de l'équipe :

Pillier1[] : [ Menu déroulant ppur choisir l'équipe du rugbyman] [Menu déroulant pour afficher les pilliers de cette équipe]
Talloneur:
Pillier[3]
Deuxieme ligne[4]

Si vous avez des informations pouvant me venir en aide, car je ne trouve pas mon bonheur sur la documentation.

Merci de votre aide

Hors ligne

#2 02-01-2017 14:09:46

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : [Projet jeu fantasy] Soucis sur les formulaires

Bonjour,

Ce que tu souhaites faire là est généralement fait via du javascript.
Ce que tu peux faire si tu ne veux pas t'embarquer là dedans, c'est ajouter des groupes dans les combobox (voir https://docs.djangoproject.com/en/1.10/ … s/#choices avec l'exemple MEDIA_CHOICES)

Hors ligne

Pied de page des forums