Я нахожусь в ListView с именем PortfolioView
. Я пытаюсь восстановить все элементы, которые пользователь ввел в модель, которая называется «Перспектива». Для этого я пробую следующее:
def get_context_data(self, **kwargs):
Prospect.objects.all().filter(owner__username=self.request.user)
context = MakeGraphs(Prospect.psuccess, Prospect.hc_type)
return super(PortfolioView, self).get_context_data(**context)
Однако, когда я запускаю функцию MakeGraphs
, я получаю сообщение об ошибке, в котором говорится, что операция не может быть запущена для отложенного атрибута. Я не понимаю, почему он возвращается в качестве отложенного атрибута.
Предложения
Редактировать: Для ясности, вот примерное из того, что я делаю в функции MakeGraphs
:
def MakeGraphs(psuccess, hctype):
#This isn't what I am really doing, but this should give you a flavor for it...
newoutput1 = []
newoutput1 = []
for i in range(len(psuccess)):
newoutput1.append(psuccess[i]**2 + hctype[i])
newoutput2.append(psuccess[i]***3 + hctype[i]**2)
aaa = sum(newoutput1)
bbb = sum(newoutput2)
return {'aaa':aaa, 'bbb':bbb}
Итак, он принимает список для обеих переменных и возвращает одно значение для каждой из возвращаемых переменных.
Редактировать 2:
Когда я использую запрос:
def get_context_data(self, *args, **kwargs):
a = Prospect.objects.filter(owner=self.request.user).first()
Я получаю значения для первой записи, где владелец = пользователь, как и ожидалось. Тем не менее, я хотел бы получить все значения psuccess и hc_type ...
если я попробую это:
def get_context_data(self, *args, **kwargs):
a = Prospect.objects.filter(owner=self.request.user)
Я получаю, что объект 'QuerySet' не имеет атрибута 'psuccess', ошибка ...
Редактировать 3:
Для атрибутов, для которых возвращено одно значение, или если возвращено несколько атрибутов, и вы можете использовать их по одному вместо всех сразу, ответ, помеченный как решение, будет работать.
Однако, если вам нужны все значения для каждого атрибута в форме списка, вы должны использовать это для запроса:
yourvar = list (MyModel.objects.filter (owner = self.request.user) .values_list ('yourvar'))