I'm working on a django application that uses the mysql backend in 
production but the sqlite3 db backend during dev to speed up testing.

I was surprised to find these backends differ when populating extra model 
fields with aggregated datetimes. Specifically, if you use Queryset.extra 
to create a field that is a maximum of some datetime objects, the sqlite 
django backend makes this field a string, while the mysql backend makes 
this field a datetime object. I've put a minimal django app at github 
(here<https://github.com/wxgeorge/django-db-backend-divergence>) 
that exemplifies this difference on my setup, Django 1.5.1, python 2.7.4, 
Ubuntu 13.04.

I know there are situations where these backends will behave differently, I 
took the above aggregation operation to be basic enough that this shouldn't 
be such a situation. The django docs on database 
backends<https://docs.djangoproject.com/en/1.5/ref/databases>note an 
old bug concerning date aggregation with sqlite in 
windows<https://code.djangoproject.com/ticket/10031>, 
but I didn't think this should apply.

I'd love to hear from some other Django users. For example,

   - Is this behaviour expected? 
      - (was I naive in subbing the sqlite backend in during development?)
   - Is this a known bug?
   - Is there a better way to use django's ORM to accomplish what I'm doing?
      - (e.g. create a full-fledged DateTime field on the model, that must 
      be kept up to date when the other table is updated).
   
All comments appreciated!

Wes

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/205179bf-a853-424a-9a8e-8b3297ab856c%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to