繁体   English   中英

在Django应用的模型中使用__unicode __()时出现字符串格式的TypeError

[英]TypeError with string formatting when using __unicode__() in model for Django app

我仅在第二篇教程中工作,以创建Django项目和应用程序。 我完成的第一个教程是在djangoproject.com上,并且我创建了非常流行的“投票”应用程序。 第一个教程指定“在模型中添加__str__()方法很重要”,但是它也指出“在Python 2上,您应该定义__unicode__()方法来返回unicode值。” 我正在运行Python 2.7.9,并且在第一个教程中成功使用了__unicode__() 我正在第二篇教程中的字符串格式上遇到麻烦,该教程位于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)

我也尝试过return u'%s' + ' ' + '%s' % (self.first_name, self.last_name) ,然后return u'%s' + u' ' + u'%s' % (self.first_name, self.last_name)

当我尝试使用上述任何一种尝试在数据库中创建一个Question对象时,我总是收到TypeError: not all arguments converted during string formatting 字符串格式有什么问题? 我对Python还是很陌生,并且在编码期间(以防您无法分辨),因此在给出任何答案时,请“缓慢而清晰地交谈”和“对我轻松”。 谢谢!

这看起来似乎正确。 您是否可能在数据库中存储了一些不包含first_name的Contact()条目,或者

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM