django 下拉菜单显示为object的解决办法
Posted KeepLearningEverday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 下拉菜单显示为object的解决办法相关的知识,希望对你有一定的参考价值。
在创建完Django数据库结构之后,使用Django自带的强大的admin功能往数据库中添加数据,图形化界面如下:
但时候有下拉框选项(只要在model中有定义Charfield就会显示为下拉框),如果遇到了如下情况:
这是很反人类的,我知道他是NewsType 对象,你倒是显示对象的名称啊!
找了很多方法,查看了AdminModel的源代码:
我使用的python版本为3.6,可以看到list_display使用的是__str__方法,但是我在我的models中所有的返回值都是Unicode(其实python3自动进行了兼容处理,,看到那个装饰器了吗?会将str转为unicode),猜想是不是这个原因呢?
在models中更改Unicode为str后,
结果正常显示了
以上是关于django 下拉菜单显示为object的解决办法的主要内容,如果未能解决你的问题,请参考以下文章