2015-12-05 2 views
0

У меня есть проблема.Django: Dependent modelchoicefield

Я в значительной степени новичок в django, и у меня возникла проблема в понимании того, как я буду делать modelchoicefield зависимым от другого modelchoicefield.

Я искал какое-то время и наткнулся на this.

Будучи новичком, я пробовал код как есть и исправлял некоторые очень мелкие проблемы, но всякий раз, когда я пытаюсь получить доступ к веб-сайту (localhost), он загружает текстовый файл, содержащий одну строку того, что кажется словарем какой-то {1 : asd} и все, ничего не отображает, просто загружает текстовый файл.

Я думаю, это потому, что я устанавливал URLs, как это:

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

То, что я думаю, что я хватаю:

Настройки права URL-адреса и рендеринга или отображения полого

Я бы очень признателен за помощь, совет или даже образец кода.

Заранее спасибо.

ответ

1

JavaScript является лучшим способом сделать это.

Filter selectbox options depending on primary choice

Очень полезно знать в будущем. Недавно у меня была аналогичная проблема!

Редактировать: Мне очень жаль, это старый вопрос, и вы ответили ему, чтобы сказать, что вы его разрешили. Отличная работа!

-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>"); 
        } 

       } 
      }); 
     }); 

Этого код использует два выпадающие делают на раскрывающемся список зависимого другому