Django在CBV中命令

时间:2016-01-11 08:15:41

标签: python django

我想按nev订购我的查询集,但它不起作用?我究竟做错了什么?我的Cbv:

class MunkakorListView(ListView):

model = Munkakor

def get_context_data(self, **kwargs):
    context = super(MunkakorListView, self).get_context_data(**kwargs)
    template_name = 'MunkakorKarbantart/MunkakorokList.html'
    return context

def get_queryset(self):
    qs = self.model.objects.all()
    qs=qs.order_by('nev')
    search = self.request.GET.get('search_box', None)
    orderby = self.request.GET.get('orderby', None)
    if search:
        qs=qs.filter(nev__icontains=search)


    return qs

型号:

class Dolgozo(models.Model):
    dolgozo_id = models.FloatField(primary_key=True)
    nev = models.CharField('Név',max_length=30)

2 个答案:

答案 0 :(得分:0)

你从GET获得了orderby参数,但是你没有做任何事情。您需要使用它来实际订购查询集。

答案 1 :(得分:0)

你可以通过'nev'

尝试订购我的查询集

升序:

def get_queryset(self):
    qs = self.model.objects.order_by('nev')

降序:

def get_queryset(self):
        qs = self.model.objects.order_by('-nev')