に並べ替えることはできません。ジャンゴ-tables2は、次のように私は、Djangoのモデルが定義されている特定のフィールド
class DummyModel(models.Model):
name = models.CharField(max_length=100, name='Name')
description = models.CharField(name='Description', max_length=150)
time_points = models.PositiveIntegerField(name="Time Points")
more_text = models.CharField(max_length=100, name="More Text")
class Meta:
db_table = "dummy"
私は、同様のテーブルクラスを持っているので、後でいくつかのカスタマイズを行うしたいと思います:
class DummyTable(tables.Table):
class Meta:
model = DummyModel
attrs = {'class': 'paleblue'}
私は次のようである対応するビューを持っている:
@login_required(login_url="login/")
def review(request):
table = DummyTable(DummyModel.objects.all())
RequestConfig(request).configure(table)
return render(request, 'review.html', {'reviews': table})
は最後に、私はそれを使用して私のテンプレートをイオンレンダリング:
{% block content %}
{% load static %}
{% load render_table from django_tables2 %}
<div class="function-container">
{% render_table reviews %}
</div>
{% endblock %}
今これは罰金レンダリングが、私は(列ヘッダをクリックして)time Points
列をソートしようとすると、エラーが付属しています:
Invalid order_by arguments: [u'Time Points']
Request Method: GET
Request URL: http://127.0.0.1:8000/review/?sort=Time+Points
Django Version: 1.10.5
Exception Type: FieldError
Exception Value:
Invalid order_by arguments: [u'Time Points']
しかし、私がブラウザを指している場合http://127.0.0.1:8000/review/?sort=time_points
、これは動作します。だから、どういうわけか正しいフィールド名が渡されません。しかし、これは私が私のtable
クラスで列をオーバーライドすることである、これを行う方法を考え出しno such column: dummy.time_points