Django coercition à Unicode: besoin de chaîne ou de tampon, datetime.date trouvé

J'ai un modèle:

class MyModel(models.Model):
    id = models.IntegerField(primary_key=True)
    recorded_on = models.DateField()
    precipitation = models.FloatField(null=True, blank=True)

dans mes vues, j'ai une requête ainsi:

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)))
    ...

Mais à chaque fois que j'essaye de faire quelque chose avec le queryset (par exemple, json de vidage, de l'affichage dans le modèle), j'obtiens l'erreur suivante:

    coercing to Unicode: need string or buffer, datetime.date found

Je sais il doit y avoir un moyen facile de traiter avec cela, mais je n'ai pas encore trouvé.

Toute aide serait grandement appréciée.

EDIT:

Un exemple de données:

+----+-------------+---------------+
| id | recorded_on | precipitation |
+----+-------------+---------------+
| 24 | 1987-07-02  |          20.7 |
| 33 | 1987-07-11  |           0.4 |
+----+-------------+---------------+

source d'informationauteur Darwin Tech