So I know that I can communicate between those two using JSON, but I also know that I would have to manually recreate all Django objects in JS.
Do you know of any tool or library that could help me do that? Or maybe even a better way of achieving the same goal?
I only found these two: http://palantar.blogspot.com/2006/06/agad-tutorial-ish-sort-of-post.html Django + GWT or Jquery
But then I still would have to manually mirror my objects, which would violate DRY.
If you want to create a new model, both in GWT and in Django, the easiest way to generate code is to start from a very simple model definition, e.g.
Parsing that with a little Python is very easy, and so is generating code for both Django and GWT once you parsed the above-like lines. Customization for both Django and GWT will take only a little more work. Taking foreign keys into account is more complicated. Don’t forget a tiny little generated method to serialize the objects, e.g. in JSON format.
The first reflex I had was to use introspection in Python, but then I ran into trouble when introspecting foreign key fields in django models. Maybe I should take a look at the code of the django-docs project (available at google code).
Finally, to speed up your GWT+Django development, you can use a http proxy servlet in hosted mode, so that you don’t need to compile your GWT stuff every time you want to run your GWT front end with a Django back end. The servlet on http://www.servletsuite.com/servlets/httpproxy.htm will probably do the trick.