Django模型admin允许选择页面中的所有对象来执行某些操作('删除所选对象'是其中之一)。在用户模型页面中选择所有模型对象后,它提供了一个选项“选择所有xxxx用户”(xxxx是一个数字),如图所示。
这允许管理员选择所有用户,当导出为CSV时,如此巨大的数据大小会导致网关超时问题。我们只希望管理员选择在一个单一的页面,而不是在一个去所有的对象。任何有关这方面的帮助是赞赏。
wgmfuz8q1#
如果你不点击Select all XXX users,这个操作只会在你屏幕截图中勾选的用户(50)上执行。
Select all XXX users
5f0d552i2#
负责在管理面板中显示该位的模板是admin/actions.html。可以覆盖模型的样板并从中删除该链接。默认模板有一个如下所示的块:
admin/actions.html
{% if actions_selection_counter %} <span class="action-counter" data-actions-icnt="{{ cl.result_list|length }}">{{ selection_note }}</span> {% if cl.result_count != cl.result_list|length %} <span class="all hidden">{{ selection_note_all }}</span> <span class="question hidden"> <a href="#" title="{% translate "Click here to select the objects across all pages" %}">{% blocktranslate with cl.result_count as total_count %}Select all {{ total_count }} {{ module_name }}{% endblocktranslate %}</a> </span> <span class="clear hidden"><a href="#">{% translate "Clear selection" %}</a></span> {% endif %} {% endif %}
您希望覆盖此样板并删除其中作为链接的两个跨度。为了仅覆盖一个模型的模板,应在模板目录中创建以下文件夹结构:admin/<app_name>/<model_name>/。因此,为了将它们放在一起,假设应用程序名称为accounts,模型名称为User,请在templates/admin/accounts/user/actions.html中写入以下内容:
admin/<app_name>/<model_name>/
accounts
User
templates/admin/accounts/user/actions.html
{% extends "admin/actions.html" %} {% load i18n %} {% block actions-counter %} {% if actions_selection_counter %} <span class="action-counter" data-actions-icnt="{{ cl.result_list|length }}">{{ selection_note }}</span> {% if cl.result_count != cl.result_list|length %} <span class="all hidden">{{ selection_note_all }}</span> {% endif %} {% endif %} {% endblock %}
有关覆盖模板的更多信息:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates
2条答案
按热度按时间wgmfuz8q1#
如果你不点击
Select all XXX users
,这个操作只会在你屏幕截图中勾选的用户(50)上执行。5f0d552i2#
负责在管理面板中显示该位的模板是
admin/actions.html
。可以覆盖模型的样板并从中删除该链接。默认模板有一个如下所示的块:
您希望覆盖此样板并删除其中作为链接的两个跨度。为了仅覆盖一个模型的模板,应在模板目录中创建以下文件夹结构:
admin/<app_name>/<model_name>/
。因此,为了将它们放在一起,假设应用程序名称为
accounts
,模型名称为User
,请在templates/admin/accounts/user/actions.html
中写入以下内容:有关覆盖模板的更多信息:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates