Сортировка в Django если цена меняется из модели и показывается в шаблоне

Как отсортировать именно в views прайс по user_max2() из модели? javascripts в шаблоне не предлагать, надо переделывать тогда и пагинатор.... По сути в представлении надо получить список айди товаров по убыванию цены товаров.

Models

class Product(models.Model):
      price = models.FloatField( verbose_name="Цена")
      ....   
 def user_max2(self):
        user = get_current_user()
        user_k = user.usrid.discount_list_k1.group_discount_list_k
        listusers_id = user.usrid.listusers_id
        brand2 = self.brand.clt1.all()

        for pr in brand2:
            if pr.published == 1:
                if pr.mf_id == self.brand.brand_id and pr.client_id.listusers_id == listusers_id:
                    if pr.k_dn == 1:
                        return self.zakup * pr.k_up
                    else:
                        user_max = max(pr.k_dn, self.discount_product_min)
                        return self.price * user_max
        user_max = max(user_k, self.discount_product_min)
        return self.price * user_max

Views

if sort == 'price0':
                  products = products.order_by('price')

                  new_data_match = []
                  for data in products:
                      new_data_match.append(data.user_max2())
                  new_list = sorted(new_data_match, key=lambda k: k)
                  print(new_list)

Шаблон

<div class="amount">
      {{product.user_max2|floatformat:"2g"}}
 </div>

Ответы (0 шт):