2

我正在使用Django 2.1.3django-smart-selects 1.5.4和三个简单的模型,例如客户、计费帐户和订单。

需要做的是在创建订单时,用户应该选择一个客户(假设所有注册客户的数量会很大)作为autocomplete_field。选择客户后,应该有另一个选择,其中包含与该客户关联的所有计费帐户。

订单中,我使用智能选择将Client作为 ForeignKey,将BillingAccount作为 ChainedForeignKey 与Client关联,如下所示:

class Order(models.Model):
    client = models.ForeignKey(Client, on_delete=models.PROTECT, null=True)
    billing_account = ChainedForeignKey(BillingAccount, chained_field="client",
                                    chained_model_field="client",
                                    show_all=False,
                                    auto_choose=True,
                                    on_delete=models.PROTECT,
                                    null=True)

问题是当用户选择给定的Client时,BillingAccount选择不会自动填充。

注意:
Client未在 OrderAdmin 的autocomplete_fields BillingAccount 中关联时,它应该与与该Client关联的所有帐户一起填写。

我编写了自定义 Ajax,这对我有用,但我的问题是:

有什么我想念的东西,或者 django-smart-selects 默认情况下不适用于 autocomplete_fields 吗?

4

0 回答 0