widget_tweaks render_field фильтрует возвращение Dropbox
Я использую этот шаблон
{% extends "website/_layouts/base.html" %}
{% load widget_tweaks %}
{% block title %}Matricula de Membros{% endblock %}
{% block conteudo %}
<div class="container mt-5">
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="card">
<div class="card-body">
<h5 class="card-title">Matrícula de Membros</h5>
<p class="card-text">
Complete o formulário abaixo para matricular
um <code>Membro</code> em um evento.
</p>
<form method="post">
<!-- Não se esqueça dessa tag -->
{% csrf_token %}
<!-- Estudante -->
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Estudante</span>
</div>
{% render_field form.estudante class+="form-control" hidden=true %}
<span class="input-group-text">{{ estudante.nome }}</span>
</div>
<hr>
<!-- Curso -->
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">Evento</span>
</div>
{% render_field form.cursoPeriodo class+="form-control" %}
</div>
<hr>
<div class="text-right">
<a href="{% url 'website:lista_estudantes' %}" class="btn btn-outline-primary">Voltar</a>
<button class="btn btn-primary">Enviar</button>
</div>
</form>
</div>
</div>
</div>
</div>
{% endblock %}
с этой точки зрения:
# MATRICULA DE MEMBROS
# ----------------------------------------------
class MatriculaCreateView(CreateView):
template_name = "website/matricula.html"
model = CursoPeriodoEstudante
form_class = MatriculaMembroForm
success_url = reverse_lazy("website:lista_estudantes")
def get_initial(self):
return {'estudante': Estudante.objetos.get(id=self.kwargs['pk'])}
def get_context_data(self, **kwargs):
context = super(MatriculaCreateView, self).get_context_data(**kwargs)
context['estudante'] = Estudante.objetos.get(id=self.kwargs['pk'])
context['pk'] = self.kwargs['pk']
return context
и эта форма:
class MatriculaMembroForm(forms.ModelForm):
class Meta:
# Modelo base
model = CursoPeriodoEstudante
# Campos que estarão no form
fields = [
'estudante',
'cursoPeriodo'
]
И эта модель:
class CursoPeriodoEstudante(models.Model):
aprovacao = models.BooleanField(
null=False,
blank=False,
default=False
)
presencas = models.BooleanField(
null=False,
blank=False,
default=False
)
financeiro = models.BooleanField(
null=False,
blank=False,
default=False
)
provas = models.BooleanField(
null=False,
blank=False,
default=False
)
trabalhos = models.BooleanField(
null=False,
blank=False,
default=False
)
pagamento = models.IntegerField(
null=False,
blank=False,
default=0
)
cursoPeriodo = models.ForeignKey(CursoPeriodo, on_delete=models.CASCADE)
estudante = models.ForeignKey(Estudante, on_delete=models.CASCADE)
objetos = models.Manager()
Чтобы показать эту страницу: введите описание изображения здесь.
Как видите, поле "modelo" содержит все строки, которые я написал в таблице. Но я только хочу показать поля с "matriculasAbertas"=1, как вы можете видеть в моей таблице: введите описание изображения здесь
Что я могу сделать, чтобы отфильтровать это?