【问题标题】:Django: Dependent modelchoicefieldDjango:依赖模型选择字段
【发布时间】:2016-03-10 13:23:02
【问题描述】:

我有点问题。

我对 django 非常陌生,我在理解如何使一个模型选择字段依赖于另一个模型选择字段时遇到了问题。

我已经搜索了一段时间,并遇到了this

作为一个初学者,我按原样尝试了代码并修复了一些非常小的问题,但每当我尝试访问网站 (localhost) 时,它都会下载一个文本文件,其中包含单行内容似乎是某些人的字典sort {1 : asd} 就是这样,它不显示任何内容,只是下载一个文本文件。

我认为是因为我设置了这样的网址:

url(r'^(?P<campus_id>[0-9]+)/$', views.get_schools, name='get_schools'),

我认为我缺少的是:

正确设置网址和 渲染或显示字段

我非常感谢您的帮助、建议,甚至是示例代码。

提前致谢。

【问题讨论】:

    标签: jquery python django django-forms django-1.8


    【解决方案1】:

    我知道这是一个月大,我尝试学习 javascript,结果发现它很简单。只需像这样通过javascript过滤并填写您的下拉列表

            $(document).ready(function() {
             <!--The parent dropdown-->
                $("#id_REGION").change(function() {
                    var el = $(this);
                    var select = document.getElementById("id_CITY");
                    $("#id_CITY").val([]);
                    select.length = 0;
                    $("#id_CITY").append("<option value=\"\" selected=\"selected\">---------</option>");
                <!--Clears the field for new entry-->
    
                    var reg = [{% for item in a %}"{{ item.Region_Designated_id }}"{% if not forloop.last %},{% endif %}{% endfor %}];
                    var city_name = [{% for item in a %}"{{ item.CITY }}"{% if not forloop.last %},{% endif %}{% endfor %}];
    
                   <!--filling the dropdown-->
                    for(var i = 0; i<reg.length; i++){
    
                    <!--Filtering the entries-->
                        if(el.val() == reg[i]){
                            $("#id_CITY").append("<option id = "+ reg[i] +" value = \"" + city_name[i] + "\">" + city_name[i] + "</option>");
                        }
    
                    }
                });
            });
    

    此代码使用两个下拉菜单,使下拉菜单依赖于另一个

    【讨论】:

      【解决方案2】:

      JavaScript 是最好的方法。

      Filter selectbox options depending on primary choice

      以后知道非常有用。我最近遇到了类似的问题!

      编辑:我很抱歉,这是一个老问题,你回复它说你已经解决了。干得好!

      【讨论】:

        猜你喜欢
        • 2012-03-23
        • 2018-01-31
        • 2011-07-22
        • 2019-03-11
        • 2014-10-31
        • 2014-07-09
        • 2019-02-16
        • 2021-08-25
        相关资源
        最近更新 更多