在Django Select中限制外键选项

时间:2020-11-05 02:47:18

标签: python django

我为供应商提供一个模型,为产品提供另一个模型。每个产品必须具有与其关联的Supplier实例。稍后,用户必须在Proforma模型的单独模型表单中选择供应商,然后选择产品。我想看到的是,“产品选择”选项会向下过滤到“产品”,其中“供应商” =用户已选择的“供应商”。在如何处理此用例方面,我没有找到太多……有人能指出我正确的方向吗?这是否需要使用JS,还是可以直接在表单中进行设置?还是将查询集从视图传递到此字段?甚至任何有关此的资源都将是有帮助的。

models.py

class Supplier(models.Model):
    supplierName = models.CharField(max_length=100)


class Product(models.Model):
    code = models.CharField(max_length=100)
    supplier = models.ForeignKey(Supplier, null=False, blank=False)

class Proforma(models.Model): 
    ...
    supplier = models.ForeignKey(Supplier, null=False, blank=False, on_delete=models.CASCADE)
    code = models.ForeignKey(Product, null=True, blank=True, on_delete=models.CASCADE)
    

1 个答案:

答案 0 :(得分:2)

创建一个单独的URL,该URL将根据供应商退货。 选择供应商后进行ajax调用,然后在产品选择选项中加载响应。

相关问题