#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.