diff --git a/bda/models.py b/bda/models.py index 10468b07..578f235c 100644 --- a/bda/models.py +++ b/bda/models.py @@ -198,7 +198,9 @@ class Participant(models.Model): attributions = models.ManyToManyField( Spectacle, through="Attribution", related_name="attributed_to" ) - tirage = models.ForeignKey(Tirage, on_delete=models.CASCADE) + tirage = models.ForeignKey( + Tirage, on_delete=models.CASCADE, limit_choices_to={"archived": False} + ) accepte_charte = models.BooleanField("A accepté la charte BdA", default=False) choicesrevente = models.ManyToManyField( Spectacle, related_name="subscribed", blank=True @@ -209,6 +211,12 @@ class Participant(models.Model): def __str__(self): return "%s - %s" % (self.user, self.tirage.title) + class Meta: + ordering = ("-tirage", "user__last_name", "user__first_name") + constraints = [ + models.UniqueConstraint(fields=("tirage", "user"), name="unique_tirage"), + ] + DOUBLE_CHOICES = ( ("1", "1 place"),