一组使处理Django模型更有趣的实用工具。
项目描述
安装
pip install django-modeltools
包含的工具
Enum
《Enum》类允许您快速为模型字段值定义枚举类型。构造函数接受kwargs,其中键是“常量”的名称,值是包含常量值(将存储在数据库中)和标签的两个元组。
用法
在models.py中
from modeltools import Enum
class MyModel(models.Model):
Color = Enum(
RED=('r', 'Red'),
GREEN=('g', 'Green'),
BLUE=('b', 'Blue'),
)
color = models.CharField(max_length=1, choices=Color.choices())
其他地方
m = MyModel.objects.filter(color=MyModel.Color.RED)
format_filename
format_filename函数提供了一个基于存储模型的属性来命名用户媒体(上传的文件)的简便方法。
用法
在models.py中
from modeltools import format_filename as _ff
class Person(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
middle_name = models.CharField(max_length=50)
avatar = models.ImageField(upload_to=_ff('avatars/{last_name}_{first_name}'))
在上面的示例中,{first_name}和{last_name}将被替换为Person实例对应的值。上传的文件将自动保留其原始扩展名。
upload_to=_ff('avatars/{last_name}_{first_name}/{__filename}.thumbnail{__ext}')
{__filename}和{__ext}允许访问上传文件时的名称和扩展名。
默认情况下,在格式化模式中使用的属性将被转换为小写,去除非单词字符,并将空格替换为下划线。(可以通过向format_filename函数提供额外参数来更改此行为。)其余的格式化字符串将不受影响。
关闭
django-modeltools-1.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 259e1fbeccb8311e302f279e512b503fbd64c96c92bbc5700cd5f0ef1e23f009 |
|
MD5 | 4bb9c040a25bbb51851e95869905c68d |
|
BLAKE2b-256 | 16d5d5fb09f93aa07ccef3c206d89c0ca2a9ab14238653e677ba7b6160a6ff89 |