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

В настоящее время у меня есть 2 фильтра, classroom(recinto) и course(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.

Вернуться на верх