Django枚举问题
我尝试在 django 中实现枚举结构,这样
class Status():
PENDING = 0
CONFIRMED = 1
DENIED = 2
STATUS =(
(PENDING,_("salary_status_pending")),
(CONFIRMED,_("salary_status_confirmed")),
(DENIED,_("salary_status_denied")),
)
在我的模型中我使用它,
class MyModel(models.Model):
status = models.IntegerField(null=False, choices=Status.STATUS)
它工作得很好,如果我想在我的模板中获取枚举字段的标签,我使用它 {{ mymodel.get_status_display }}
并在我的枚举字段中写入标签 _('key..')
而不是 Django 文档中解释的数字
但是,什么如果我想在我的 view.py
中获取标签? 我想在下面编写一段代码,它应该给我枚举字段的标签而不是数字
Status.CONFIRMED
我怎样才能实现这个?
谢谢
I try to implement enumartion structure in django such that
class Status():
PENDING = 0
CONFIRMED = 1
DENIED = 2
STATUS =(
(PENDING,_("salary_status_pending")),
(CONFIRMED,_("salary_status_confirmed")),
(DENIED,_("salary_status_denied")),
)
and in my model I use it like
class MyModel(models.Model):
status = models.IntegerField(null=False, choices=Status.STATUS)
It works fine and if I want to get the label of enum field in my template I use{{ mymodel.get_status_display }}
and it writes the label _('key..')
in my enum field instead of number which is explained in Django documents
However, what if I want to get the label in my view.py
?
I want to write a code below and it should give me the label of enum field instead of number
Status.CONFIRMED
How can I achive this ?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个怎么样?
您可以使用
MyModel.STATUS[MyModel.CONFIRMED]
在任何地方访问您的标签How about this?
And you can access your label everywhere using
MyModel.STATUS[MyModel.CONFIRMED]
我找到了。下面的代码做了我想要的
I found it.The code below does what I want