关于价格区间作业的问题

来源:6-6 vue的商品搜索功能

慕慕7077877

2020-02-20

下面是filter

class PriceRangeFilter(django_filters.rest_framework.FilterSet):
    proType = django_filters.NumberFilter(field_name="category_id", lookup_expr='exact', label='proType')

    class Meta:
        model = GoodsPriceRange
        fields = ['proType']

下面是viewset

class GoodsPriceRangeViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
    """
    list:
        商品分类价格区间
    """
    queryset = GoodsPriceRange.objects.all()
    serializer_class = GoodsPriceRangeSerializer
    filter_backends = [DjangoFilterBackend]
    filterset_class = PriceRangeFilter

下面是url

router.register(r'priceRange', GoodsPriceRangeViewSet, basename='priceRange')

这个api已经做好了。
在list.vue中我将

this.$http.post('/priceRange', {
                    params: {
                        proType: this.type, //商品类型
                    }

改成了下面

            getPriceRange () {
                this.$http.get('127.0.0.1:8000/priceRange', {
                    params: {
                        proType: this.type, //商品类型
                    }
                }).then((response)=> {

                    this.priceRange = response.data;
                }).catch(function (error) {
                    console.log(error);
                });
            },

但是点击之后没有加载出价格区间来不知道哪来还有问题。。。
求指导

写回答

3回答

慕斯卡8313365

2020-04-05

同学 Model可以贴出来看一下吗? 谢谢

0
1
慕慕7077877
class GoodsPriceRange(models.Model): min = models.IntegerField(verbose_name="最小价格") max = models.IntegerField(verbose_name="最大价格") category = models.ForeignKey(GoodsCategory, null=True, blank=True, verbose_name="商品类目", help_text="商品类别id", on_delete=models.CASCADE)
2020-04-10
共1条回复

慕慕7077877

提问者

2020-02-22

添加一个我的做法,估计还有更好的上面的都不变修改list.vue

this.$http.post('/priceRange', {
                   params: {
                       proType: this.type, //商品类型
                   }

为然后就可以了,24是酒水的id

getPriceRange () {

   this.$http.get('http://127.0.0.1:8000/priceRange', {
       params: {
           proType: this.top_category, //商品类型
       }
  

//img.mukewang.com/szimg/5e50e87209879f2c03520216.jpg

//img.mukewang.com/szimg/5e50e87209db0b0114250250.jpg


0
1
bobby
赞一个
2020-02-24
共1条回复

bobby

2020-02-22

你看看网络请求中的这个参数是否正确? 是前端没有传递过去还是后端并没有执行filter?

0
2
bobby
回复
慕慕7077877
其实只要懂vue了看懂这个前端就没有任何问题,你可以找一门慕课网上讲的好的vue的课程 学完以后看这个就没有问题了
2020-02-24
共2条回复

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2889 学习 · 2467 问题

查看课程