我需要将'def get_销售'方法传递给视图中的模型,以便按get_sale对产品进行排序,但传递后出现错误
models.py
@property
def get_sale(self):
'''Расчитать стоимость со скидкой'''
price = int(self.price * (100 - self.sale) / 100)
return price
views.py
class SortItems(GoodsHome):#сортировка товара
def get_queryset(self):
sort_types = {
'0': '-time_create',
'1': 'time_create',
'2': 'get_sale',
'3': '-get_sale',
}
sort_type = sort_types[self.kwargs['sort_type']]
if 'query' in self.kwargs:
query = self.kwargs['query']
return super(SortItems, self).get_queryset().filter(Q(artist__icontains=query) |
Q(album__icontains=query)).order_by(sort_type)
return super(SortItems, self).get_queryset().order_by(sort_type)
错误
无法将关键字'get_销售'解析为字段
1条答案
按热度按时间kupeojn61#
这是因为
get_sale
不是order_by要求的Django字段。我建议您在F表达式中使用注解。