django - DRF:如何获得选择的详细名称?
问题描述
假设我有这个模型:
class Student(models.Model):
YEAR_IN_SCHOOL_CHOICES = (
(FR, 'Freshman'),
(SO, 'Sophomore'),
(JU, 'Junior'),
(S, 'Senior'),
)
year_in_school = models.CharField(
max_length=2,
choices=YEAR_IN_SCHOOL_CHOICES,
default=FRESHMAN,
)
如果我使用 DRF 公开 year_in_school 字段的值,我会得到选择的第一个参数,例如:“FR”。
如何公开第二个参数“Freshman”而不是“FR”?
解决方案
您可以使用模型的get_FOO_display
方法作为序列化器字段的来源:
year_in_school = serializers.CharField(source='get_year_in_school_display')
推荐阅读
- python - Python:Excel 到数据框:删除不包含“正确”数据的顶部行和列
- java - 使用条件计算变量并打印所有最终值
- python-3.x - 我有 XML 文件,我想通过 python 更改它的元素值。如果“否”更改为“NA”,则更改其值,而不是“是”
- python - AttributeError: 'AnonymousUser' 对象没有属性 '_meta' Django 频道
- visual-studio-code - 如何在 vscode 中安装和使用 Jupyter 暂存器扩展
- jquery - 如何检测数组中的相同元素并总结数量?
- javascript - 产品路线未定义且未显示在前端 ReactJS 部分,mongoDB
- visual-studio-code - 我无法在 Visual Studio Code 中打开终端
- reactjs - Gatsby - 如何使用 GraphQL 查询 src/data/ 子文件夹中的所有 YAML
- javascript - Angular如何在组件中的属性更改时执行功能