мое мнение: я использовал templated_context_processor для удобства
def list_subtest(request):
return {'subtest':Subtest.objects.all(),'test':Test.objects.all()}
мои модели: здесь у меня есть тестовые и подтестовые модели. Например, кровь попадает в категорию теста, а гемоглобин попадает в категорию подтеста
class Test(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Subtest(models.Model):
name = models.CharField(max_length=100)
test = models.ForeignKey(Test,on_delete=models.CASCADE,related_name='subtest',blank=True, null=True)
unit = models.CharField(max_length=10)
reference_value = models.IntegerField()
selected = models.BooleanField(default=False)
def __str__(self):
return self.name
мой шаблон: я хочу показать тест и подтест, который подпадает под тот же тест.
<ul class="nav-list">
<li>
<a href="#">Test</a>
<form class="hero-menu">
{% for test in test %}
<div class="category-block">
<ul class="dropdown-list">
<li>
<a href="#"><h4 data-modal-target="menu-test-popup">
{{test.name|title}}
</h4></a>
</li>
{% for subtest in subtest %}
{% with subtest.test as name %}
{% if name %}
<li>
<div class="checkbox-group">
<input type="checkbox" id="aUniqueName" name=
value="example"/>
<label for="aUniqueName">
{{subtest.name}}
</label>
</div>
</li>
{% endif %}
{% endwith %}
{% endfor %}