我有一个Django模型合作伙伴定义如下:
class Partner(models.Model):
name = models.CharField(max_length=500)
description = models.CharField(max_length=5000)
identity = models.IntegerField(primary_key=True, max_length=100)
address = models.CharField(max_length=300)
phone = models.IntegerField(max_length=10)
def __unicode__(self):
return self.identity
def get_absolute_url(self):
from django.core.urlresolvers import reverse
return reverse('partner', kwargs={'partner_url': self.identity})
它已在admin.py中注册如下:
admin.site.register(Partner)
但是,在我尝试添加数据时,在管理控制台中,它会出现以下错误:
TypeError at /admin/Project/partner/add/
'int' object has no attribute '__getitem__'
我尝试了其他类似解决方案的解决方案:
TypeError: 'int' object has no attribute '__getitem__'
和
float object has no attribute __getitem__
但既没有解决我的问题,也没有解决错误。知道什么是错的吗?
答案 0 :(得分:2)
您在__unicode__
上呼叫IntegerField
,这将无效。您需要转换为字符串。
尝试:
def __unicode__(self):
return str(self.identity)