从显示自定义字段的 Django 模型呈现可排序表的最佳方法?

Posted

技术标签:

【中文标题】从显示自定义字段的 Django 模型呈现可排序表的最佳方法?【英文标题】:Best way to render a sortable table from a Django Model which displays custom fields? 【发布时间】:2022-01-04 19:51:23 【问题描述】:

我想根据模型中的选定字段(由算法决定)生成一个表,并且我希望能够对该表中的列进行排序。我还希望用户能够单击每一行上的一个按钮,该按钮会导致一个由该行中的键生成的新页面(即“编辑”)

我尝试过 django-tables2,但这似乎会阻止我添加按钮和添加我想要的算法来控制显示的字段类型。

自定义表的生成本身不是问题 - 但我似乎找不到任何关于制作排序功能的资料。我在哪里可以找到这个?

【问题讨论】:

【参考方案1】:

我通过 sortables 找到了完美的解决方案,在 this article 中解释了 Django 的使用。

虽然 sortables 没有给你 Datables 的高级功能,但它很容易实现,并且允许你将所有后端逻辑保存在一个视图中。如果您有一个由用户操作的数据填充的表,这可以简化实现,其中 Datatables 和 Django Tables 等替代方案需要您向表添加功能以允许它处理请求数据。

【讨论】:

【参考方案2】:

您可以尝试使用默认支持排序功能的 django-datatables (https://github.com/shymonk/django-datatable)。基于数据表 (https://datatables.net/)

【讨论】:

以上是关于从显示自定义字段的 Django 模型呈现可排序表的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章

Django 自定义表单字段错误地呈现值

如何允许在 Django 管理员中通过自定义 list_display 字段进行排序,该字段没有 DB 字段,也没有可注释

有没有一种简单的方法可以完全自定义 Django 管理站点以显示不是字段的变量?

Django 自定义表名和字段名

Django 管理员:自定义排序

python-django 模型model字段类型说明