正确处理可排序的更改列表和内联内容^W简单
项目描述
请参考上面链接的CI构建,以获取目前支持的Python和Django组合。
安装
pip install django-admin-ordering,并将admin_ordering添加到INSTALLED_APPS。
使用
首先,您需要一个按整数字段排序的模型。如果您对以下模型满意:1. 排序字段称为ordering;2. 排序字段自动初始化,使新对象排在最后,您也可以继承抽象模型admin_ordering.models.OrderableModel。如果您定义自己的class Meta,则应该继承OrderableModel.Meta,以便将ordering属性设置为正确的值。
from admin_ordering.models import OrderableModel
class MyModel(OrderableModel):
# ...
class Meta(OrderableModel.Meta):
# ...
可排序更改列表
from admin_ordering.admin import OrderableAdmin
@admin.register(MyModel)
class MyModelAdmin(OrderableAdmin, admin.ModelAdmin):
# The field used for ordering. Prepend a minus for reverse
# ordering: "-ordering"
ordering_field = "ordering" # The default.
# You may optionally hide the ordering field in the changelist:
# ordering_field_hide_input = False
# The ordering field must be included both in list_display and
# list_editable:
list_display = ["name", "ordering"]
list_editable = ["ordering"]
可排序内联
from admin_ordering.admin import OrderableAdmin
class MyModelTabularInline(OrderableAdmin, admin.TabularInline):
model = MyModel
# Same as above; "-ordering" is also allowed here:
ordering_field = "ordering"
# ordering_field_hide_input = False
OrderableAdmin默认为extra = 0(默认不显示额外的空内联)。强烈建议保持默认设置不变,否则您可能会因为想要更改排序而得到无效的内联。
限制
OrderableAdmin可用于内联和父模型,但这也意味着您不能直接将模型与OrderableAdmin注册。
使用带有过滤或分页列表的django-admin-ordering可能会产生意外结果。目前的建议是将list_per_page设置为一个更大的值,并且不要重新排序过滤后的更改列表。
请注意,django-admin-ordering以10的倍数递增分配排序值,强调排序值除了赋予元素相对排序外不应具有任何其他意义。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
django_admin_ordering-0.18.2.tar.gz (17.8 kB 查看哈希值)
构建分布
关闭
哈希值 for django_admin_ordering-0.18.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7cfb2e303db0adbe55f08774c46ac812f572039d18a670aee7e8185e65e5df79 |
|
MD5 | a6d38f68a2fb2f3fdfdbc8fb6d1b5e7c |
|
BLAKE2b-256 | 8e30e846a28f3dd9d317d777bd3bfcd0808bd93471284824f39d1bd0de2b55fd |