Pensez à une application où les gens peuvent participer à un concours.
Tengo un Contest
y ContestProblem
Modèle prêt. Je veux avoir les caractéristiques suivantes pour le concours :
- Un concours peut présenter de nombreux problèmes
- Un problème ne peut apparaître dans plus d'un concours.
Dans mon models.py
Je l'ai fait :
class ProblemsInContest(CreateUpdateDateModel):
contest = models.ForeignKey(Contest)
problem = models.ForeignKey(ContestProblem)
class Meta:
verbose_name = "Problem in Contest"
verbose_name_plural = "Problems in Contest"
def __str__(self):
return "{problem}".format(problem=self.problem)
Dans mon admin.py, j'ai :
class ContestProblemInline(admin.TabularInline):
model = ProblemsInContest
extra = 1
class ContestAdmin(admin.ModelAdmin):
inlines = [
ContestProblemInline,
]
Voici à quoi ressemble mon formulaire d'administration :
J'utilise Django Admin pour ajouter des problèmes à un concours. Le problème est que dans la liste déroulante des problèmes, j'obtiens tous les problèmes de la liste. ContestProblem
mais je veux le limiter à ceux ContestProblem
qui n'apparaît dans aucun autre concours.
Toute astuce, tout conseil ou toute référence permettant d'obtenir les résultats souhaités sera vivement apprécié.