【问题标题】:How to improve display and handling of a large number of inlines in django-admin?如何改进 django-admin 中大量内联的显示和处理?
【发布时间】:2023-04-04 10:50:01
【问题描述】:

在显示模型的内联时,如果有大量内联,则更改页面加载速度会很慢,并且很难在所有内联中导航。我已经在使用内联折叠技巧(在 DjangoSnippets 上找到,但那里的搜索不起作用,所以我无法在此处分享链接),但仍然不容易浏览,因为它们的名称相同(主要是数字不同)并且所有内联仍然加载。

我需要某种类型的内联分页器,而且这个分页器首先显示当前正在编辑的对象的最有趣的内联,比如只为在线指定排序(不是在其他区域使用的默认排序)应用程序)。

更新:内联是一个子相关类的所有实例。

【问题讨论】:

  • 域名应该是djangosnippets.org; .com 网站是一个广告停放网站。
  • 更多细节会很有用。当您说“大量内联”时,您是指一个相关类的大量实例吗?或者你的意思是大量的相关类?听起来好像是前者。有时,通过将子对象视为具有与父对象的 ForeignKey 关系的单独可编辑项来“解决”这一问题。我在一个葡萄酒评论网站上朝这个方向发展,一篇文章可能有多达 20 条或更多与之相关的品酒笔记(还有其他因素推动我朝这个方向发展)。
  • @Peter:是的,这是第一种情况,它只是一个相关的类,但有很多实例(肯定是 20+)。当您说“可单独编辑的项目”时,您是指用于编辑子对象的独立 ModelAdmin 吗?在这种情况下,它没有帮助,因为它们有很多,而且在父编辑页面中编辑子对象非常舒服,因为这对用户来说是常识。

标签: django django-admin inline large-data


【解决方案1】:

如果你想控制每页列表的数量,你可以设置list_per_page=50

例子

class ModelAdmin(admin.modelAdmin):
  list_per_page = 50

admin.register(model, ModelAdmin)

这解决了分页问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    相关资源
    最近更新 更多