我使用的是enum34包,如所描述的here。在
以下是文章中使用的示例:
from common.utils import ChoiceEnum
class StudentTypes(ChoiceEnum):
freshman = 0
sophomore = 1
junior = 2
senior = 3
# within your models.Model class...
student_type = models.CharField(max_length=1, choices=StudentTypes.choices())
但是,在我的枚举字段中,我希望使用:
(例如16:9
)。在
有办法吗?在
你能确定你理解什么是枚举吗?在这个例子中,freshman用
0
表示,so二用1
等表示。不能使用字符串,例如"16:9"
作为枚举中的表示。在枚举中的名称必须是有效的Python标识符。但是,还有其他方法可以将字符串(例如带冒号的字符串)映射到整数,反之亦然。在
我发现我不需要
enum34
包,而且很容易手工完成:我不确定我是否完全理解你的问题。要在枚举中使用16:9作为属性吗?不能,因为:不是任何属性的正确字符。你不能在你的代码中任何地方使用一个叫做16:9的变量。参见:https://docs.python.org/3/reference/lexical_analysis.html#grammar-token-identifier
相关问题 更多 >
编程相关推荐