[英]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.