一个django应用程序,用于弥合使用枚举和具有完全指定的规范化数据模型之间的差距。
django-enummodel的Python项目详细描述
django-enummodel是一个小型实用程序,旨在帮助桥接利基用途 箱子?在为给定字段定义枚举(互斥选项)和 将非独占选项完全指定为完全指定模型类型的实例。
在一般情况下,配置为完全指定模型的非互斥选项 (以及存储这些选项的固定装置)在最好的情况下可以“工作”;在 最坏的情况是,它可能会带来轻微的头痛,尤其是当涉及到懒惰的翻译时。
在提交人的特殊情况下,所面临的挑战是避免不得不应付 o(n)要管理的固定装置的增长率,以及避免遇到的愿望 国际化和被迫选择特定字符集的问题 在其中存储这些值。
django-enummodel提供了一个Django模型对象,开发人员可以用它扩展 提供上述功能:
LANGUAGE_CHOICES = ( (1,_(u'English')), (2,_(u'Spanish')), (3,_(u'French')), (255,_(u'other')), ) class Language(EnumModel): class EnumMeta: choices = LANGUAGE_CHOICES
请注意,从EnumModel派生的任何模型的填充都发生在 架构迁移;因此,需要通过运行以下命令更正对选项基础的更改:
django-admin.py migrate
或:
django-admin.py migrate app_name