django的真正python枚举。

django-enumfields的Python项目详细描述


这个包允许您在django中使用真正的python(PEP435样式)枚举。

https://travis-ci.org/hzdg/django-enumfields.svg?branch=master

安装

  1. pip install django-enumfields

包括的工具

EnumField,EnumIntegerField

fromenumfieldsimportEnumFieldfromenumfieldsimportEnum# Uses Ethan Furman's "enum34" backportclassColor(Enum):RED='r'GREEN='g'BLUE='b'classMyModel(models.Model):color=EnumField(Color,max_length=1)

其他地方:

m=MyModel.objects.filter(color=Color.RED)

EnumIntegerField的工作原理相同,但是底层的存储机制是 一个IntegerField,而不是一个CharField

表单中的用法

调用formfield方法直接在Form中使用EnumField

classMyForm(forms.Form):color=EnumField(Color,max_length=1).formfield()

枚举

通常,您只使用普通的PEP435样式的枚举,但是,django枚举字段 此外,它自己的Enum版本还包含了一些额外的铃声和口哨声。 也就是说,在管理中使用的标签的智能定义 下拉列表。默认情况下,它将通过标题大小写常量来创建标签 名字。可以为自定义标签提供嵌套的“标签”类。

fromenumfieldsimportEnumField,Enum# Our own Enum classclassColor(Enum):RED='r'GREEN='g'BLUE='b'classLabels:RED='A custom label'classMyModel(models.Model):color=EnumField(Color,max_length=1)assertColor.GREEN.label=='Green'assertColor.RED.label=='A custom label'

EnumFieldListFilter

enumfields.admin.EnumFieldListFilter是为了允许在 list_filter

fromenumfields.adminimportEnumFieldListFilterclassMyModelAdmin(admin.ModelAdmin):list_filter=[('color',EnumFieldListFilter)]

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

推荐PyPI第三方库


热门话题
java如何在IntelliJ社区版中为maven项目创建war文件?   架构在java编程中创建模型数据的最佳方式   java代码可以打印当前数字右边的最大数字,最后一个数字应该打印1   java上一个和下一个按钮,用于在WebView中从数组中加载字符串   java与直接DB调用/RESTful服务调用相比,测试Hazelcast数据检索速度的最佳方法是什么?   资源/类链接上的Java404   java如何安装play2War插件(Play Framework 2.1.1.)   多线程守护进程线程行为java   java如何从RepainManager生成异常   java Hibernate集合映射问题。无法删除或更新父行:外键约束失败   java LibGDX TextureRegion NullPointerException   java无法在JUnit套件中添加测试类   java通配符捕获/泛型   awt如何在Java中获取当前的鼠标指针类型?   java将probuf转换为POJO   java bouncycastle是否支持RSA PKCS1OAEP填充?   SQLiteDatabase的java问题。SQLITE数据库时的查询()。rawQuery()工作正常   java Android。如何正确存储数据库的数据?   java如何访问与GAE默认服务帐户关联的电子邮件地址?