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 に答える