I m just beginning to learn Django and I would like to use different queryset in a ModelChoiceField.
I have 3 models like that :
class Politic(models.Model):
name = models.CharField(max_length=100)
class Economic(models.Model):
name = models.CharField(max_length=100)
class Category(models.Model):
politic = models.ForeignKey(Politic, blank = True, null = True)
economic = models.ForeignKey(Economic, blank = True, null = True)
And a form like that :
class MyForm(forms.Form):
choice = forms.ChoiceField(choices = (("0", u"---------"), ("1", u"Politic"),
("2", u"Economic")),
required=False)
category = forms.ModelChoiceField(queryset=Economic.objects.all(),
required=False)
In my template, I use Ajax to populate my category field with a list of all Politic
or Economic
value according to my choice field.
But if I choose "Politic"
, I have a problem in the validation of my form because the queryset of my category field is Economic.objects.all()
, not Politic.objects.all()
.
How can I change my dynamicaly queryset? Any ideas?