Django изменяет значение аргумента пользовательского фильтра в шаблоне

#javascript #jquery #django #django-templates #metronic

Вопрос:

в настоящее время у меня есть 2 фильтра, класс(recinto) и курс(carrera), я хочу получать только те курсы, которые назначены выбранному классу, для этого у меня есть модели под названием «CarreraRecinto».

Модели:

 class Recinto(models.Model):
codigo = models.CharField(max_length=10, unique=True)
nombre = models.CharField(max_length=300)

class Meta:
    ordering = ['codigo']

def __str__(self):
    return f"{self.codigo} - {self.nombre}"

class Carrera(models.Model):
codigo = models.CharField(max_length=5, unique=True)
nombre = models.CharField(max_length=300)

def __str__(self):
    return f"{self.codigo} - {self.nombre}"

class CarreraRecinto(models.Model):
carrera = models.ForeignKey(Carrera, on_delete=models.CASCADE)
recinto = models.ForeignKey(Recinto, on_delete=models.CASCADE)
 

Число просмотров:

 class EditorInventarioView(LoginRequiredMixin, TemplateView):
template_name = "pages/editor-inventario/estandar.html"

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context["recintos"] = Recinto.objects.values("id", "codigo", "nombre")
    context["carreras"] = Carrera.objects.values("id", "codigo", "nombre")
    return context


editor_inventario_view = EditorInventarioView.as_view()
 

Фильтр:

 @register.filter(name="fc")
def filter_carreras(carrera, recinto):
    qs = Carrera.objects.filter(carrerarecinto__recinto=recinto)
    return qs
 

шаблон:

     <div class="col-lg-4">
    <label for="laboratorioSeleccionado"> Selecciona Ficha FER: </label>
    <select class="form-control" id="laboratorioSeleccionado" style="width: 100%;">
        {% for recinto in recintos%}
        <option value="{{ recinto.id }}"> {{ recinto.codigo }}_{{ recinto.nombre }}</option>
        {% endfor %}
    </select>
</div>
<div class="col-lg-3">
    <label for="carreraSeleccionada"> Selecciona carrera: </label>
    <select class="form-control" id="carreraSeleccionada" style="width: 100%;">
        {% for carrera in carreras|fc:17 %}
        <option value="{{ carrera.id }}">{{ carrera.nombre }}</option>
        {% endfor %}
    </select>
</div>
 

что мне нужно сделать, так это изменить в шаблоне значение «17» из fc(filter_carreras) на основе выбранного значения из предыдущего фильтра Recinto.