7

无法对 django-tables2 表进行排序。

class MyModel(models.Model):
    pid = models.AutoField('id',primary_key = True)
    name = models.CharField(max_length = 255,
                            help_text='The name')
def show_mymodels(request):
    """ the view """
    table = MyModelTable(MyModel.objects.all())
    return render(request,'mymodel.html',{'table':table})

class MyModelTable(tables.Table):
    class Meta:
        model = MyModel
        orderable = True

mymodel.html 如下所示:

{% load render_table from django_tables2 %}
{% render_table table %}

这会使表格正确,但在浏览器中单击列时没有任何反应。其他然后 urld 更改http://127.0.0.1:8000/show_mymodel-->http://127.0.0.1:8000/show_mymodel?sort=name

我做错了什么?

4

1 回答 1

19

您需要一个RequestConfig对象,如教程中所述:

使用RequestConfig自动从表中提取值request.GET并相应地更新表。这使数据排序和分页成为可能。


from django_tables2 import RequestConfig

def show_mymodels(request):
    table = MyModelTable(MyModel.objects.all())
    RequestConfig(request).configure(table)
    return render(request, 'mymodel.html', {'table': table})
于 2012-07-04T17:22:33.587 回答