Доступ к свойству экземпляра модели из списка и сложение их вместе? - PullRequest
1 голос
/ 29 июня 2019

Скажем, у меня есть модель:

class Mymodel(models.Model)
property = models.IntegerField()

Скажем, у меня есть функция:

def func():
instance = Mymodel.objects.order_by('?')[0]
instance2 = Mymodel.objects.order_by('?')[0]
plan = [instance, instance2]
return plan

Я хочу использовать цикл for, чтобы сложить целые числа в свойствеэкземпляра модели, а затем вывести сумму в один из моих шаблонов?

Я пробовал добавить фильтр, но проблема в том, что количество экземпляров, которые он будет складывать вместе, являются динамическими, поэтому я не могу просто сделать myModel.0.property|add:myModel.1.property

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Найден способ обойти это:

В вашем шаблоне просто используйте фильтр | length вместе соператор if:

{% if instancelist|length == 2 %}
    {{ instancelist.0.property|add:instancelist.1.property }}
{% else %}
    {{ instancelist.0.property|add:instancelist.1.property|add:instancelist.2.property }}
{% endif %}

и т. д.

1 Ответ

0 голосов
/ 30 июня 2019

По вашему вопросу, чтобы получить сумму instance и instance2 поля свойства. Вы можете попробовать вот так:

    instance = Mymodel.objects.order_by('?')[0:1]
    instance2 = Mymodel.objects.order_by('?')[0:1]
    sum = 0
    for item in instance:
         sum += item.property
    for item1 in instance2:
         sum += item1.property
    return sum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...