使处理django模型更加有趣的实用程序集合。

django-modeltools的Python项目详细描述


安装

  1. pip install django-modeltools

包括的工具

枚举

Enum类允许您快速定义模型字段值的枚举类型。构造函数接受kwargs,其中键是“常量”的名称,值是一个包含常量值(将存储在数据库中)和标签的二元组。

用法

在models.py中:

frommodeltoolsimportEnumclassMyModel(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提供了一种基于存储用户媒体(上载的文件)的模型属性命名用户媒体的简单方法。

使用量

在models.py中:

frommodeltoolsimportformat_filenameas_ffclassPerson(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函数提供额外参数来更改。)格式化字符串的其余部分将不受影响。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java访问私有字段而不使用getter方法?   使用PowerMockito在JavaEWSAPI中模拟测试拉订阅   启动活动时未保存java首选项并清除变量   java如何在servlet中检索子域?斯普林有帮手吗   java使用Docker从命令行构建Android项目   java Android,ActionBar后退按钮(setDisplayHomeAsUpEnabled(true))重新创建父活动   java在重用FileOutputStream时应该关闭流吗?   java使用RESTAPI将文件上载到s3 bucket   Java SOAP Web服务应用程序中的mysql用户登录方法不工作   java使用多个数字计算百分比并转换为长   java Android SQLiteDatabase查询忽略空格   java如何在Javafx中比较两个字段文本   java错误:未设置java_HOME,在Eclipse安装后找不到   java在安卓中保存对象   java如何使用jaxws从返回List<Object>的服务中检索值   java Google OAuth2 JWT令牌验证异常   SpringMVC中的JavaUTF8编码问题,当从JSP表单发送POST请求中的越南语信件时   java从webview重定向到安卓应用程序   JUnit 5中多个扩展的java顺序