我有一个可选参数列表,我用于在Django中过滤,并尝试提出应用这些过滤器的最佳解决方案.我的第一个想法是做一些像:
if param_1 != 'all' and param_2 != 'all': # etc.
class_var = ClassName.objects.filter(param_1__name=param_1, param_2__name=param_2) # etc.
else:
class_var = ClassName.objects.all()
Run Code Online (Sandbox Code Playgroud)
但由于参数都是可选的,我可能只想基于它进行过滤,param_1并将其余部分设置为'all'.当然另一种选择是说:
class_var = ClassNam.objects.all()
if param_1 != 'all':
class_var.filter(param_1__name=param_1)
if param_2 != 'all':
class_var.filter(param_2__name=param_2)
# etc.
Run Code Online (Sandbox Code Playgroud)
但在我看来,这似乎并没有真正有效.我只是希望得到一些关于我可能能够执行这些选项过滤器的方法的想法.
我有一个按以下方式创建的下拉菜单:
<select id="ip_addr">
{% for host in hosts %}
<option value="{{ host.ipaddress }}">{{ host.ipaddress }}</option>
{% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)
而且我不知道如何设置默认值。通常我只会说
<option value="0.0.0.0" selected>0.0.0.0</option>
Run Code Online (Sandbox Code Playgroud)
但是由于我使用循环填充了此下拉菜单,因此我不知道如何确保选择了我想要的选项。我敢肯定有一种非常简单的方法可以做到这一点,但是对于HTML / JavaScript / Django我还是很陌生。