I'm trying to use the django-smart-selects Module in order to create dependent dropdown lists. I've followed the documentation and defined models in which I used the 'ChainedForeignKey' in order to define a link between my companies and my products.
models.py
class Company(models.Model):
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class Product(models.Model):
company = models.ForeignKey(Company, on_delete=models.CASCADE)
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class Rates(models.Model):
company = models.ForeignKey(Company, on_delete=models.CASCADE)
product = ChainedForeignKey(
Product,
chained_field = "company",
chained_model_field = "company",
show_all = False,
auto_choose = True,
sort=True)
taux_comm_1 = models.FloatField(validators=[MinValueValidator(0), MaxValueValidator(1)])
taux_comm_2 = models.FloatField(validators=[MinValueValidator(0), MaxValueValidator(1)])
Then I have defined a form :
forms.py
class Rates(forms.ModelForm):
class Meta:
model = Rates
fields= ['company', 'product', 'taux_comm_1', 'taux_comm_2']
The data is retrieved from my database and I can select a company from the first dropdown list. The second list (Product), though, is locked. I've associated products to companies in my database ( using the foreign key ).
If you guys have any ideas how I could solve that problem, that would be really good. I've searched for a similar issue but I couldn't find anything like it.
Here is a screenshot of the form.