Python 在Django应用程序的模型中使用_unicode__()时,字符串格式出现TypeError

Python 在Django应用程序的模型中使用_unicode__()时,字符串格式出现TypeError,python,django,unicode,models,Python,Django,Unicode,Models,我正在编写第二个教程,用于创建Django项目和应用程序。我完成的第一个教程是在djangoproject.com上,我创建了一个曾经流行的“民意调查”应用程序。第一个教程规定“在模型中添加\uu str\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu()方法很重要”,但它也指出“在Python2上,应该定义\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuUnicode()返回unicode值的方法。”我正在运行Python2.7.9,并且在第一个教程

我正在编写第二个教程,用于创建Django项目和应用程序。我完成的第一个教程是在djangoproject.com上,我创建了一个曾经流行的“民意调查”应用程序。第一个教程规定“在模型中添加
\uu str\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu()
方法很重要”,但它也指出“在Python2上,应该定义
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuUnicode()
返回unicode值的方法。”我正在运行Python2.7.9,并且在第一个教程中成功地使用了
。我在effectivedjango.com上正在编写的第二个教程中遇到了字符串格式问题

以下是第一个教程的工作原理:

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    def __unicode__(self):
        return u'%s' % self.question_text
class Contact(models.Model):
    first_name = models.CharField(max_length=255)
    last_name = models.CharField(max_length=255)
    email = models.EmailField()
    def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)
以下是我在第二个教程中尝试过但未成功的内容:

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
    def __unicode__(self):
        return u'%s' % self.question_text
class Contact(models.Model):
    first_name = models.CharField(max_length=255)
    last_name = models.CharField(max_length=255)
    email = models.EmailField()
    def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)
我还尝试了
返回u'%s'++''%s'(self.first\u name,self.last\u name)
,以及
返回u'%s'+u'+u'%s'(self.first\u name,self.last\u name)


当我尝试使用上述任何一种尝试在数据库中创建
问题
对象时,我不断得到
TypeError:在字符串格式化过程中并非所有参数都转换了
。字符串格式有什么问题?我对Python非常陌生,而且还处于编写阶段(以防你说不出来),所以在给出任何答案时,请“慢慢说清楚”和“对我放松”。谢谢

嗯。看起来不错。是否可能您的数据库中存储了一些Contact()-条目,但这些条目不包含名字或

我有点困惑。您认为Contact类有问题,但是当您尝试创建一个Question对象时,它会给您类型错误?另外,您是如何创建问题对象的?我正在Windows命令提示符下使用python shell创建问题和联系人对象。有趣的是,我今天第一次尝试再次创建一个联系人对象,效果很好。现在我无法复制我昨晚所做的任何事情,因为它一直给我带来打字错误。无论如何,谢谢你的帮助@Cheng,但是现在看起来一切都很好。很高兴听到它现在起作用了:D