Voici une application simple à choix multiples.Django: comment accéder aux champs en-ligne à partir du formulaire du modèle parent?
Une question peut avoir 4 choix.
Dans le panneau d'administration, quand enregistrer une nouvelle question, je veux vérifier le nombre de choix qui sont vides (pas de mots) mais je ne sais pas comment accéder aux 4 choix.
Comment puis-je accéder aux valeurs des choix à l'intérieur de la fonction clean() de QuestionForm?
#model.py
class Question(models.Model):
question = models.CharField(max_length = 250)
class Choice(models.Model):
question = models.ForeignKey(Question)
choice = models.CharField(max_length = 250)
#admin.py
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 4
can_delete = False
max_num = 4 # fix to have 4 choices
class QuestionForm(forms.ModelForm):
class Meta:
model = Question
fields = '__all__'
def clean(self):
"""
HERE, i want to access the 4 choices model
"""
return self.cleaned_data
class QuestionAdmin(admin.ModelAdmin):
form = QuestionForm
inlines = [ChoiceInline]
admin.site.register(Question, QuestionAdmin)
admin.site.register(Choice, ChoiceAdmin)