CBV中的Django orderby

2024-04-19 13:17:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想按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)

Tags: selfsearchdatagetmodelreturnmodelsrequest
2条回答

你可以试着用“nev”来订购我的查询集

对于升序:

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

对于降序:

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

您正在从GET获取orderby参数,但您没有对其执行任何操作。您需要使用它来实际订购queryset。你知道吗

相关问题 更多 >