我正在尝试使用 django-smart-selects 模块来创建相关的下拉列表。我已经按照文档和定义的模型使用了“ChainedForeignKey”来定义我的公司和我的产品之间的链接。
模型.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)])
然后我定义了一个表格:
表格.py
class Rates(forms.ModelForm):
class Meta:
model = Rates
fields= ['company', 'product', 'taux_comm_1', 'taux_comm_2']
数据是从我的数据库中检索的,我可以从第一个下拉列表中选择一家公司。但是,第二个列表(产品)已锁定。我已将产品与数据库中的公司相关联(使用外键)。
如果你们对我如何解决这个问题有任何想法,那就太好了。我已经搜索了类似的问题,但找不到类似的问题。
这是表格的屏幕截图。