How to reset the forloop counter in django template?
This is my current QuerySets:
context['major'] = Major.objects.all().filter(is_active=True).order_by('id')
context['minor'] = Minor.objects.all().filter(is_active=True).order_by('id')
And this is my Models:
class Major(models.Model):
major_name = models.CharField(max_length=100, default='', null=False)
is_active = models.BooleanField(default=True, null=False)
def __str__(self):
return self.major_name
class Minor(models.Model):
major_name = models.ForeignKey(Major, on_delete=models.CASCADE)
minor_name = models.CharField(max_length=100, default='', null=False)
is_active = models.BooleanField(default=True, null=False)
def __str__(self):
return self.minor_name
So I have something like this:
{% for major in majors %}
{% for minor in minors %}
{% if minor.major_name == major %}
{{forloop.counter}} {{minor}}
{% endif %}
{% endfor %}
{% endfor %}
Current output:
major1
1 minor1
2 minor2
major2
3 minor3
4 minor4
5 minor5
...
I want it to display something like:
major1
1 minor1
2 minor2
major2
1 minor3
2 minor4
3 minor5
...
majorsandminorsmodels and querysets to your question? It may be easier to change the way you define or iterate over your data as "resetting" the forloop counter like you ask is not trivial/possible