使用两个选择标记过滤Django

问题描述

你好朋友

我正在做笔记共享网站。我的以下代码一个问题。我想在页面中使用两个选择标签,以便可以从数据库中过滤数据。但我希望两个选择标签都可以动态工作。该学期的第一个标签页面一起加载,当我选择该选项时,它将转移到视图,并且我在视图文件中应用了过滤器,因此从视图部分将主题数据返回到下一个标签主题标签)。代码如下。


main.html

<form action="" method="POST">
    {% csrf_token %}
    <select name="semester" id="semester" onchange="this.form.submit()">
        <option value="">Select Semester</option>
        {%for i in semester %}
        <option value="{{i.id}}">{{i.Sem}}</option>
        {%endfor%}
    </select>
</form>
<form>
    <select name="subject" id="subject">
        <option value="">Select Subject</option>
        {%for i in subject %}
        <option value="{{i.id}}">{{i.Subject}}</option>
        {%endfor %}
    </select>
    <noscript><input type="submit" value="Submit"></noscript>
    </form>

view.py

def main(request):
    semester = Semester.objects.all()
    subjects = Subject.objects.all()
    data = {}
    if request.method == "POST":
        a = request.POST.get("semester")
        if a != "":
            subjects = Subject.objects.filter(Semester=a)
    print(subjects.values())
    data = {'subjects':subjects,'semester':semester}
    return render(request,'main.html',data)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)