django - 如何打印选择字段的字符串值
问题描述
我有一个整数字段,它为博客文章提供 3 个选项:
class Post(models.Model):
STATUS_DRAFT = 0
STATUS_PUBLISHED = 1
STATUS_DELETED = 2
STATUS_CHOICES = (
(STATUS_DRAFT, 'draft'),
(STATUS_PUBLISHED, 'published'),
(STATUS_DELETED, 'deleted'),
)
status = IntegerField(choices=STATUS_CHOICES, default=STATUS_DRAFT)
当我在模板中渲染它时,{{ blog.status }}
它会打印整数值 ( 0, 1, 2
)。如何调用它来打印字符串值(draft, published, deleted
)?
解决方案
是的,您可以使用[Django-doc]:get_fieldname_display
对于已
choices
设置的每个字段,该对象将有一个get_FOO_display()
方法,其中FOO
是字段的名称。此方法返回字段的“人类可读”值。
在这种情况下,您可以通过以下方式实现它:
{{ blog.get_status_display }}
推荐阅读
- java - 如何在一个项目中同时使用 Cassandra 和 MYSQL?
- arrays - 嵌套 *ngFors - 更好的选择?(角度 7)
- php - bigcommerce 中必须将哪个 url 放入 AUTH 回调 url
- android - 如何从 Retrofit 读取字符串响应
- android - BaseExpandableListAdapter 在旧项目上重写新项目
- amazon-web-services - 是否可以将 Datadog Aurora 仪表板导出为云形成?
- javascript - 如何使用 Spotify Web API 制作音频播放器?
- c# - 移除并重置静态对象
- oop - 判别器字段和数据建模
- sql-server - 在 SQL Server 中将二进制转换为 INT