Django里choices字段使用中文使用

如果想要将下面的表格里的内容数字换成对应的内容:

需要更改成这样:


下面是步骤:

在 python 里的 models.py 文件里,创建数据表的时候,用到了 choices

python 复制代码
class Example(models.Model):
    name = models.CharField(verbose_name="名称", max_length=32)
    price = models.IntegerField(verbose_name="价格")

    # 只适用于固定的选择
    category = models.SmallIntegerField(verbose_name="资产类型", choices=((1, '文具类'), (2, '3C类'), (3, '房产类')))

views.py 文件里,从数据库里获取数据,传给前端页面:

python 复制代码
def example_list(request):
    queryset = models.Example.objects.all().order_by("-id")

    return render(request, 'example_list.html', { "queryset": queryset })

example_list.html 文件里,做修改

html 复制代码
<table border="1px">
    <thead>
        <tr>
            <th>ID</th>
            <th>标题</th>
            <th>价格</th>
            <th>分类</th>
        </tr>
    </thead>
    <tbody>
        {% for obj in queryset %}
        <tr>
            <td>{{ obj.id }}</td>
            <td>{{ obj.name }}</td>
            <td>{{ obj.price }}</td>
            <td>{{ obj.get_category_display }}</td>
        </tr>
        {% endfor %}
    </tbody>
</table>

在 html 里,得必须通过 obj.get_列表名称_display 的方法才能调用 choices 里的内容。

要想在 views.py 里,从数据库获取内容,可以通过

python 复制代码
# 必须得添加括号 ()
obj.get_列表名称_display() 

点个赞呗~

相关推荐
navms2 分钟前
搞懂线程池,先把 Worker 机制啃明白
后端
JxWang052 分钟前
离线数仓的优化及重构
后端
Nyarlathotep01133 分钟前
gin01:初探gin的启动
后端·go
JxWang053 分钟前
安卓手机配置通用多屏协同及自动化脚本
后端
JxWang054 分钟前
Windows Terminal 配置 oh-my-posh
后端
SimonKing21 分钟前
OpenCode AI编程助手如何添加Skills,优化项目!
java·后端·程序员
haosend1 小时前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
Victor3561 小时前
MongoDB(24)如何对查询结果进行排序?
后端
曲幽1 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
怕浪猫1 小时前
第21章:微服务与分布式架构中的Go应用
后端·go·编程语言