Django:将模板中的combobox条目过滤为外键

5t7ly7z5  于 2023-08-08  发布在  Go
关注(0)|答案(2)|浏览(97)

我很难找到一个组合框条目过滤问题的解决方案。为了便于理解我的问题,这里是我的模型的ERM:x1c 0d1x的数据
我的模板看起来像:


基本上,此模板的查询集由以下代码生成:

class EquipmentinLocationAdd(CreateView):
    model = EquipmentInLocation
    form_class = EquipmentAddToLocationForm
    template_name = 'Procure/equipmentinlocation_add.html'
    def get_success_url(self):
        return reverse('equipmentinlocation_sys', kwargs={'pk':self.object.Institute_id})
    def get_initial(self):
        qs = Institute.objects.get( id = self.kwargs['pk'] )
        initial = {'Institute': qs}
        return initial

字符串
现在我需要过滤组合框“Lot”的条目,并将其限制为与研究所属于同一项目的地块。
然而,将两个查询放在一个模板中似乎是一个难以解决的挑战。
需要您的帮助,请指教!!!

wfsdck30

wfsdck301#

也许有更好的办法。。首先想到的是

首先,(我认为这是最简单的方式)

  1. django表单只显示每个设备选项。
    1.然后JavaScript处理设备选择的可见性。(将事件“更改”绑定到批次选择)
    1.然后django form使用表单清理方法验证'Equipment'(所选设备是否包含在所选批次中)

其次,

1.使用异步请求(fetch, AJAX ,...)
1.刷新响应中的选项
祝你好运!

idv4meu8

idv4meu82#

这些库可以帮助您:

  • django-smart-selects我个人并不使用这个库,但我认为这正是你想要的。来自著名的Jazz-band组的Lib。
  • 你也可以看看django-admin-flexselect。它的目的是网站管理,但可能是源代码可以给予你一些想法。

相关问题