Django Utils是一个包含一些方便工具的模块,这些工具不包括在标准Django安装中
项目描述
构建状态
覆盖率
Django Utils是一个包含小型Django辅助函数、实用程序和类的集合,这些函数和类使常见模式更短更易于实现。它绝对不是一个完整的集合,但在过去为我提供了很多帮助,我将继续扩展它。
例如
Admin Select(下拉)过滤器
Admin Select2(自动完成下拉)过滤器
Admin JSON子字段过滤器
基于枚举的选择字段
具有自动__str__、__unicode__和__repr__函数的模型,这些函数基于名称和/或缩写使用简单的混合类。
具有自动updated_at和created_at字段的模型
具有基于name属性的自动缩写的模型
迭代预定义块中的查询集以防止内存不足错误
该库依赖于Python Utils库。
文档可在以下位置找到: http://django-utils-2.readthedocs.io/en/latest/
安装
要安装
运行 pip install django-utils2 或在源目录中执行 python setup.py install
将 django_utils 添加到您的 INSTALLED_APPS
如果您想运行测试,请运行 py.test(在 tests/requirements.txt 中有要求)
管理员选择/下拉/自动完成(JSON)过滤器
所有标准管理员列表过滤器都可通过 django_utils .admin.filters 使用
原始过滤器(例如,SimpleListFilter)
基本选择/下拉过滤器:SimpleListFilterDropdown
基于 select2 的自动完成下拉过滤器:SimpleListFilterSelect2
在 PostgreSQL 上,您还可以根据给定的路径过滤 JSON 字段
class SomeModelAdmin(admin.ModelAdmin):
list_filter = (
JSONFieldFilterSelect2.create('some_json_field__some__sub_path'),
)
这将根据 some_json_field 命名的 JSON 字段进行过滤,并查找类似这样的值
{"some": {"sub_path": "some value"}}
默认情况下,JSON 过滤器的结果将缓存 10 分钟,但可以通过创建参数进行更改。
选择使用
为了启用易于使用的选项,这些选项比 Django 3.0 的选项系统更方便,您可以使用此选项
from django_utils import choices
# For manually specifying the value (automatically detects ``str``, ``int`` and ``float``):
class Human(models.Model):
class Gender(choices.Choices):
MALE = 'm'
FEMALE = 'f'
OTHER = 'o'
gender = models.CharField(max_length=1, choices=Gender)
# To define the values as ``male`` implicitly:
class Human(models.Model):
class Gender(choices.Choices):
MALE = choices.Choice()
FEMALE = choices.Choice()
OTHER = choices.Choice()
gender = models.CharField(max_length=1, choices=Gender)
# Or explicitly define them
class Human(models.Model):
class Gender(choices.Choices):
MALE = choices.Choice('m', 'male')
FEMALE = choices.Choice('f', 'female')
OTHER = choices.Choice('o', 'other')
gender = models.CharField(max_length=1, choices=Gender)
即将推出 PostgreSQL ENUM 字段,将自动帮助创建枚举(如果需要)。
链接
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源代码发行版
构建分发版
django-utils2-3.0.2.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | e733bdb994854aa449eb829cbefab41c0106397b9db9cf24c8c64c381e185720 |
|
MD5 | f4f5c736d7e5604179d509b840995e12 |
|
BLAKE2b-256 | 46523aeb057126fc83b1167f73e7e188af9e881dbccd5cae70e15d5741e5dc61 |