django admin下拉列表不显示值,显示为object的处理

问题:模板中创建form表单中的下拉列表, 前台打开页面显示object,而不是值,如图:

尝试了多种办法无果,最后解决了,处理办法是修改models.py,原来的model:

[python] view plain copy
  1. class TechnicistLocation(models.Model):  # 技术人员位置  
  2.     LocationName = models.CharField('位置名称', max_length=20)  
  3.   
  4.     class Meta:  
  5.         verbose_name_plural = '技术人员位置'  
  6.         app_label ="schedule"  
  7.   
  8.     def __unicode__(self):  
  9.         return self.LocationName  


修改后的model:

[python] view plain copy 在CODE上查看代码片派生到我的代码片
  1. class TechnicistLocation(models.Model):  # 技术人员位置  
  2.     LocationName = models.CharField('位置名称', max_length=20)  
  3.   
  4.     class Meta:  
  5.         verbose_name_plural = '技术人员位置'  
  6.         app_label ="schedule"  
  7.   
  8.     def __str__(self):  
  9.         return self.LocationName     

区别就在倒数第二行,python3直接使用__str__(self)就可以了,如果是python2,则要用__unicode__(self)

原文地址:https://www.cnblogs.com/zknublx/p/6150611.html