python - 在 Django Select 中限制外键选项
问题描述
我有一个供应商模型和另一个产品模型。每个产品都必须有一个与之关联的供应商实例。稍后,在形式模型的单独模型表单中,用户必须选择供应商,然后选择产品。我希望看到的是产品选择选项过滤到供应商 = 用户选择的供应商的产品。我没有找到太多关于如何处理这个用例的信息......有人能指出我正确的方向吗?这需要使用 JS 还是我可以直接在表单中设置它?或者也许将查询集从视图传递到该字段?任何关于这方面的资源都会有所帮助。
模型.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)
解决方案
创建一个单独的 URL,它将根据供应商返回产品。选择供应商后进行ajax调用,在产品选择选项中加载响应。
推荐阅读
- javascript - Javascript 类导入调用只需要一个参数
- xamarin.forms - Xamarin Android 绑定未实现接口问题
- python - “TypeError:open() 在我的解析代码中得到了一个意外的关键字参数‘newline’”
- python - 颜色条定位 Matplotlib
- typescript - 按对象键的通用数据
- php - 从 iframe 获取实际 php 格式的源代码的任何方法
- html - 需要在网页内运行.exe游戏文件
- openlayers - Openlayers 6:简化功能
有属性 - flutter - 如何解决flutter.gradle和flutter.bat错误?Script 'C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle' && flutter.bat错误
- sql - 在 oracle SQL 中基于重叠日期范围连接客户端记录