Во-первых, как говорит документация , использование values
дает вам список словарей , а не объектов модели. Таким образом, каждый s
не имеет атрибута sm_whatever
, он имеет ключ словаря. Итак, попробуйте это:
s['sm__lname']
Однако я должен сказать, что не вижу необходимости использовать values
здесь вообще. Тебе было бы лучше получить только реальные объекты:
sm = Disposal.objects.annotate(average_discount=Avg('discount')).order_by('-discount')
и последующий доступ к соответствующим связанным объектам: s.fname
.