django-tables2无法对某些字段进行排序

django-tables2无法对某些字段进行排序,django,django-models,django-templates,django-views,django-tables2,Django,Django Models,Django Templates,Django Views,Django 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") m

我有一个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"
@login_required(login_url="login/")
def review(request):
    table = DummyTable(DummyModel.objects.all())
    RequestConfig(request).configure(table)
    return render(request, 'review.html', {'reviews': table})
我想稍后进行一些自定义,以便我也有一个table类:

class DummyTable(tables.Table):
    class Meta:
        model = DummyModel
        attrs = {'class': 'paleblue'}
我有一个相应的看法如下:

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"
@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 %}
但是,如果我将浏览器指向
http://127.0.0.1:8000/review/?sort=time_points
,这很有效。因此,不知何故,没有传递正确的字段名。我尝试更改
名称
并添加
详细名称
字段,如下所示:

time_points = models.PositiveIntegerField(name="time_points", verbose_name="Time Points")

但是,这在
中没有返回这样的列:dummy.time\u points

我想出了一种方法来实现这一点,那就是重写
表中的列。所以,现在我的模型看起来就像:

class DummyModel(models.Model):
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=150)
    time_points = models.PositiveIntegerField()
    more_text = models.CharField(max_length=100)

    class Meta:
        db_table = "dummy"
在我的自定义
表格
课程中,我有:

class DummyTable(tables.Table):
    #Override here to change the column header text 
    time_points = tables.Column(verbose_name='Time Points')
    more_text = tables.Column(verbose_name='More Text')

    class Meta:
        model = DummyModel
        attrs = {'class': 'paleblue'}
现在,排序工作如预期的那样