Say I have a model:
class Mymodel(models.Model) property = models.IntegerField()
Say I have a function:
def func(): instance = Mymodel.objects.order_by('?')[0] instance2 = Mymodel.objects.order_by('?')[0] plan = [instance, instance2] return plan
I want to use a for loop to add together the integers in the ‘property’ of the model instance and then output the sum into one of my templates?
I have tried the add filter but the problem is the amount of instances it will be adding together are dynamic so I can’t simply do myModel.0.property|add:myModel.1.property
Thanks in advance.
EDIT:
Found a work around to this:
In your template just use the |length filter along with an if statement:
{% if instancelist|length == 2 %} {{ instancelist.0.property|add:instancelist.1.property }} {% else %} {{ instancelist.0.property|add:instancelist.1.property|add:instancelist.2.property }} {% endif %}
And so on.
Advertisement
Answer
Found a work around to this:
In your template just use the |length filter along with an if statement:
{% if instancelist|length == 2 %} {{ instancelist.0.property|add:instancelist.1.property }} {% else %} {{ instancelist.0.property|add:instancelist.1.property|add:instancelist.2.property }} {% endif %}