为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 django 表 2 动态更改order_by?

如何使用 django 表 2 动态更改order_by?

长风秋雁 2022-09-27 15:12:59
我的表类看起来很典型,除了它可能包含一个before_render()函数。before_render的伟大之处在于我可以接触到自己。这使我可以访问有关我正在使用的模型的动态信息。如何访问动态信息(如来自before_render)以更改 Meta 类中的order_by变量?def control_columns(table_self):    # Changes yesno for all Boolean fields to ('Yes','No') instead of the default check-mark or 'X'.    for column in table_self.data.table.columns.columns:        current_column = table_self.data.table.columns.columns[column].column        if isinstance(current_column,tables.columns.booleancolumn.BooleanColumn):            current_column.yesno = ('Yes','No')class DynamicTable(tables.Table):    def before_render(self, request):        control_columns(self)    class Meta:                template_name = 'django_tables2/bootstrap4.html'        attrs = {'class': 'custom_table', 'tr': {'valign':"top"}}        order_by = 'index'
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

所以这似乎有点奇怪,但它有效


class DynamicTable(tables.Table):

    ...

    def before_render(self, request):

        self.data.data = self.data.data.order_by('id')

        self.paginate()

    ...


查看完整回答
反对 回复 2022-09-27
  • 1 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信