首页 > 解决方案 > Django-tables2 行选择

问题描述

如何从 django-tables2 生成的表中选择一行?我不希望通过选中行中的复选框单元格 ( selection = tables.CheckBoxColumn(accessor='pk')) 来选择行。

标签: djangodjango-tables2

解决方案


根据您想要执行的操作,您可以将单元格设置为 href,以便用户单击它以获取适当的操作或详细信息视图。您可以通过在模型上定义一个方法来轻松完成此操作,以返回适当的文本,包括self.id来自实例的行标识或其他行标识。

例子:

class Customer( models.Model):
...
    @property
    def td_inspect(self):
        dest = reverse('customers:detail', args=(self.id,) )
        return format_html('<td><a class="NoUnderline AddWayBack style-inspect" href="{dest}">&#x1f50e;&emsp;</a></td>', dest=dest ) # 1f50e is magnify glass

您还可以使用 JQuery 等在客户端工作,通过类似的方式传递必要的id信息<td data_id={id}...


推荐阅读