我有一个模型:Django的胁迫为Unicode:需要字符串或缓冲区,datetime.date发现
class MyModel(models.Model):
id = models.IntegerField(primary_key=True)
recorded_on = models.DateField()
precipitation = models.FloatField(null=True, blank=True)
在我的意见
我有这样一个查询:
import datetime
def my_view(request):
...
format = '%Y-%m-%d'
sd = datetime.datetime.strptime(startdate, format)
ed = datetime.datetime.strptime(enddate, format)
queryset = MyModel.objects.filter((recorded_on__range = (sd, ed)))
...
但每当我试着做与查询集东西(如JSON转储,在模板显示),我收到以下错误:
coercing to Unicode: need string or buffer, datetime.date found
我知道必须有一个简单的方法来DEA我有这个,但我还没有找到它。
任何帮助将不胜感激。
编辑:
数据的一个例子:
+----+-------------+---------------+
| id | recorded_on | precipitation |
+----+-------------+---------------+
| 24 | 1987-07-02 | 20.7 |
| 33 | 1987-07-11 | 0.4 |
+----+-------------+---------------+
请显示实际回溯。哪条线路导致错误? – 2012-03-28 15:18:28
你是否试图用'+'运算符将'recorded_on'与unicode字符串连接起来?如果是这样,做到这一点的方式是'u'一个字符串“+ str(obj.recorded_on)' – vartec 2012-03-28 15:23:32
我的回溯与帖子有些不同,因为我简化了它 - 我怀疑这是一个普遍问题。但是我Django抱怨的代码行是呈现模板的views.py行。链接在这里:http://dpaste.com/722851/。我也尝试了在shell中的查询,只是试图打印或迭代查询集给出了相同的错误。 – 2012-03-28 15:30:51