python - 根据条件自定义Django wrt中的下拉字段
问题描述
我有一个场景,我有 2 个下拉菜单,第二个下拉菜单的值基于第一个下拉菜单的值。例如:-根据我的实现现在写它似乎是2个单独的下拉菜单
drop-down1_value 1
drop-down1_value 2
drop-down1_value 3
drop-down2_value 1
drop-down2_value 2
drop-down2_value 3
drop-down2_value 4
我想要的是值应该显示为
下拉 1_value 1 下拉 2_value 1 dropdown2_value 2
下拉 1_value 2 下拉 2_value 3 dropdown2_value 4
所以,基本上下拉 2 的值取决于下拉 1 的值。在内部,表格是连接的,但我无法根据需要显示它。根据我的研究,它必须使用 Django 表单来完成,但我无法做到。任何帮助都会非常有帮助。
class ClientCheckForm(forms.ModelForm):
Check_Names = forms.ModelMultipleChoiceField(widget=CheckboxSelectMultiple,queryset=None)
Client_Name = forms.ModelChoiceField( queryset=Clients.objects.all(), initial=0)
Sub_Check_Names = forms.ModelMultipleChoiceField(widget=CheckboxSelectMultiple,queryset=None)
class Meta:
model = Client_Check
fields = "__all__"
widgets = {
'Client_Name': forms.TextInput(attrs={'class': 'form-control'}),
'Check_Names': forms.TextInput(attrs={'class': 'form-control'}),
'Sub_Check_Names':forms.TextInput(attrs={'class': 'form-control'}),
}
def __init__(self, *args, **kwargs):
super(ClientCheckForm, self).__init__(*args, **kwargs)
self.fields['Check_Names'].queryset = Check_Types.objects.all()
self.fields['Client_Name'].empty_label = "Select"
self.fields['Sub_Check_Names'].queryset = SubChecks.objects.all()
解决方案
您必须将点击事件添加到下拉 1,然后您的表单再次渲染。或者使用 ajax 你应该填写下拉列表2。
推荐阅读
- opengl - 不能混合使用 OpenGL 缓冲区和 CPU 缓冲区
- meta-tags - Setting html meta tags with Blazor
- c++ - 窗口出现但无法使用 OpenGL 绘制到它
- intellij-idea - 对保存在 IntelliJ 或 CLion 中的文件执行 rustfmt
- opencv - 同时跟踪头部和前置摄像头变换可能吗?
- jquery - 在 ajax 调用中处理不同服务器响应的正确方法是什么?
- php - 如何修复充当 GET 的 Ajax 插入查询?
- java - Spring Boot 调用 rest ws SocketTimeoutException 连接超时
- python - Beautifulsoup 类查找返回无
- node.js - firebase云函数中更新的firestore文档的变化数据返回undefined