我有一个Django项目的问题。“__str__返回的非字符串(类型为int)”的错误
我会直接的。我为我的Django管理连接到我有一个服务器上的数据库,问题是,在浏览器访问模型时,会引发以下错误:
TypeError at /admin/crm/asentamiento/78967/
__str__ returned non-string (type int)
Request Method: GET
Request URL: http://127.0.0.1:8080/admin/crm/asentamiento/78967/
Django Version: 1.8
Exception Type: TypeError
Exception Value:
__str__ returned non-string (type int)
Exception Location: C:\Spameando\crm_denue2\myvenv\lib\site-packages\django\utils\encoding.py in force_text, line 90
Python Executable: C:\Spameando\crm_denue2\myvenv\Scripts\python3.exe
Python Version: 3.4.4
而对于我的模型代码是这样的:
class Asentamiento(models.Model):
id_asentamiento = models.AutoField(primary_key=True)
nom_asentamiento = models.CharField(max_length=150)
tipo_centro = models.CharField(max_length=100)
nom_centro = models.CharField(max_length=100)
num_local = models.CharField(max_length=20)
tipo_asentamiento_id_tipo_asent = models.ForeignKey('TipoAsentamiento', db_column='tipo_asentamiento_id_tipo_asent')
codigo_postal_id_codpostal = models.ForeignKey('CodigoPostal', db_column='codigo_postal_id_codpostal')
localidad_id_localidad = models.ForeignKey('Localidad', db_column='localidad_id_localidad')
class Meta:
managed = False
db_table = 'asentamiento'
def __str__(self):
return self.nom_asentamiento
我不知道是什么问题,因为我已经做了很多次模型,我总是抛出相同的错误,在所有其他表和模型中,我没有问题。
当我点击模型的某些值以在窗口中查看所选值时发生错误。
你知道是什么'__str__'用于? –
'__str__'魔术方法必须返回'str'。你可以用'return str(self.nom_asentamiento)'来解决这个问题' – SethMMorton
相信我,我从一开始就做到了,它并没有工作,我还认为这是为了回报而不是其他东西。 –