Vue + Django 2.0.6 学习笔记 8.2 热卖商品展示
程序员文章站
2022-07-14 22:37:01
...
想要呈现热卖商品 只需要将商品model中的is_hot为True的字段过滤出来就可以了
class Goods(models.Model):
...
is_hot = models.BooleanField(default=False, verbose_name=u'是否热销')
...
那我们就去goods下面的filters.py中添加过滤字段
import django_filters
from django.db.models import Q
from .models import Goods
class GoodsFilter(django_filters.rest_framework.FilterSet):
"""
商品的过滤类
"""
pricemin = django_filters.NumberFilter(field_name='shop_price', lookup_expr='gte')
pricemax = django_filters.NumberFilter(field_name='shop_price', lookup_expr='lte')
top_category = django_filters.NumberFilter(method='top_category_filter')
name = django_filters.CharFilter(field_name='name')
def top_category_filter(self, queryset, name, value):
return queryset.filter(Q(category_id = value) | Q(category__parent_category_id = value) | Q(category__parent_category__parent_category_id = value))
class Meta:
model = Goods
# --------------------------------------------->这里 只要添加is_hot字段就可以了 完美 搞定 拿钱
fields = ['pricemin','pricemax', 'name', 'is_hot']
示例:
URL请求:
前端vue中也是请求goods的api 只是添加了is_hot:true的字段
完结
上一篇: codeforces 958E3
下一篇: 【958】完全二叉树
推荐阅读
-
Vue + Django 2.0.6 学习笔记 8.3 用户收藏接口实现
-
Vue + Django2.0.6 学习笔记 6-3,在Vue中展示商品分类数据
-
Vue + Django 2.0.6 学习笔记 5.11 过滤2 搜索 排序
-
Vue+Django 2.0.6 学习笔记 5.10 drf过滤
-
Vue + Django 2.0.6 学习笔记 6.1-6.2 商品类别数据接口
-
Vue + Django 2.0.6 学习笔记 7.1 drf的token登录
-
Vue + Django 2.0.6 学习笔记 8.2 热卖商品展示
-
Vue + Django2.0.6 学习笔记 7.6 vue和jwt接口调试
-
Vue + Django 2.0.6 学习笔记 7.8-9 drf实现发送短信验证码接口
-
Vue + Django 2.0.6 学习笔记 8.1 商品详情页的API接口