我有一个模特:
class Conditions(models.Model):
date_time = models.DateTimeField(blank=True, null=True)
temperature = models.FloatField(blank=True, null=True)
humidity = models.FloatField(blank=True, null=True)
def __unicode__(self):
return self.temperature
我有数据加载到从谷歌docs导入的模型中。我保存就是这样:
conditions_obj = Conditions.objects.get_or_create(
date_time=datetime.datetime.strptime(row[0],'%m/%d/%Y %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S'),
temperature=float(row[1]),
humidity=float(row[2]))
当我这样做时,我收到此错误,我不确定原因:
TypeError: coercing to Unicode: need string or buffer, float found
我的温度值是否需要保存为字符串,因为如果我这样做,那么事情就会起作用。就像是集市。
答案 0 :(得分:0)
问题不在于保存:问题在于__unicode__
方法。顾名思义,它需要返回一个unicode值,而不是float。
你可以明确地转换它:
def __unicode__(self):
return unicode(self.temperature)