Django 处理choices显示

2022-11-06  本文已影响0人  alue

模型中的Char字段,经常用choices做映射。

例如'0'代替不及格,'1'代表良好等等。但是,这在显示的时候并不是很方便。

虽然Django提供了 get_xx_display 方法,但是没法放在 .values()中使用。

这里提供一种trick:借助一个临时变量来实现显示转换。

for item in Record.objects.all().values('rate','stutent'):  
    temp_record = Record(rate=item['rate'])  
    item['rate'] = temp_record.get_rate_display()  

借助一个临时变量,并调用其 get_rate_display() 方法,实现显示值的获取。由于并不调用 save 方法,这个临时变量并不会访问数据库,不会影响已有数据。

上一篇下一篇

猜你喜欢

热点阅读