django_tables2 在外键上排序无效

0 投票
1 回答
510 浏览
提问于 2025-04-18 00:07

我刚接触Django表格,手头有一个模型,长得像这样:

class EmployeeResponse(models.Model): 
    user = models.ForeignKey(User)
    employee = models.ForeignKey(Employee)
    question = models.CharField(max_length=200, blank=True, null=True)

我想用django_tables2来填充员工的响应数据,所以我创建了一个表格,长得像这样:

class EmployeeResponseTable(tables.Table):
    user = tables.Column(orderable=True)
    employee = tables.Column(orderable=True)
    question = tables.Column(orderable=False)
    class Meta:
        model = EmployeeResponse
        exclude = ['id']
        sequence = ("user","employee", "question")

一切都运行得很好,但用户和员工这两列的排序功能没有生效。请帮我解决这个问题。另外,我是这样填充用户和员工的数据的:

    data =[]
    employee_responses = EmployeeResponse.objects.all()
    for er in employee_responses:
        data.append({"user": er.user, "employee": er.employee, "question": er.question})

然后我用这个把所有数据推送了出去:

table = EmployeeResponseTable(data)

我不知道为什么排序没有生效。请帮帮我。

1 个回答

0

你需要一个 RequestConfig 对象。

from django_tables2 import RequestConfig
table = EmployeeResponseTable(data)
RequestConfig(request).configure(table)

撰写回答