2016-04-30 47 views
-1

在我的Django應用程序時,我想在我的app.it添加用戶拋出一個錯誤Django管理:爲什麼這個錯誤發生在添加一個新用戶

__str__ returned non-string (type long) 

__str__返回非字符串(long類型) 。 我也嘗試unicode而不是str,但錯誤保持不變。

我的models.py

class Company(models.Model): 
    c_id=models.IntegerField(default=0,primary_key=True) 
    u_id=models.OneToOneField(Consultants) 
    comany_name=models.CharField(max_length=255,blank=True,null=True) 
    comany_email=models.EmailField(max_length=255,blank=True,null=True) 
    last_login=models.DateTimeField(default=datetime.now,blank=True,null=True) 
    def __unicode__(self): 
     return u'{}'.format(self.c_id) 

這個錯誤出現在加入公司

例外位置

/usr/local/lib/python2.7/dist-packages/django/utils/encoding.py in force_text, line 94 
+3

顯示此模型的'__str__'方法,請 –

回答

1

也許,你是返回一個長整型的時間,例如像,型號self.id。在這種情況下,你需要對其進行格式化:

def __unicode__(self): 
    return unicode(self.id) 

或者

def __unicode__(self): 
    return u'{}'.format(self.id) 

的Unicode通常是首選,Django的需要實施__str__的照顧。但是你可以用類似的方式實現__str__

+0

這不起作用 –

+0

您正在使用哪個python版本?你是否得到了同樣的錯誤? – JoseKilo

+0

python版本2.7 –

相關問題