1. 程式人生 > >django 下拉菜單顯示為object的解決辦法

django 下拉菜單顯示為object的解決辦法

img ont pla bsp 圖形化界面 object alt 下拉 ews

  在創建完Django數據庫結構之後,使用Django自帶的強大的admin功能往數據庫中添加數據,圖形化界面如下:

技術分享

  但時候有下拉框選項(只要在model中有定義Charfield就會顯示為下拉框),如果遇到了如下情況:

  技術分享

  這是很反人類的,我知道他是NewsType 對象,你倒是顯示對象的名稱啊!

  找了很多方法,查看了AdminModel的源代碼:

技術分享

  我使用的python版本為3.6,可以看到list_display使用的是__str__方法,但是我在我的models中所有的返回值都是Unicode(其實python3自動進行了兼容處理,,看到那個裝飾器了嗎?會將str轉為unicode),猜想是不是這個原因呢?

  在models中更改Unicode為str後

技術分享

  技術分享

  結果正常顯示了

  技術分享

  

django 下拉菜單顯示為object的解決辦法