Django abstracts most of the actions you would be doing with the Database. What it doesn't abstracts, and doesn't try to abstract is the Database modelling part. This is a quick tutorial describing to how model your data in Django models.py, and how to access and modify them.
The Django documentation on internationalization describes how to add multi-language support to your application. As it took me a few tries to get it right, here's a rundown of what I did to add it to an existing project.
Nice entry on testing, its not always the most straightforward process in Django (I've wasted at least a couple afternoons trying to juryrig something to create new model for the duration of tests...), and is really helpful.
I delete and sync my database fairly often during development with Django because the "syncdb" command will not alter the table in the database after, for example, adding a new field to the corresponding model.
The problem I have with this is typing in the same data for a superuser over and over again. It's a very repetitive task, so I was grateful when I heard this tip from my co-worker Sebastian today.
Save this as smart_if.py in the templatetags folder of one of your apps. Then a simple {% load smart_if %} replaces the boring built-in Django {% if %} template with the new smart one.
Please feel free to share the things that tripped you up when you started with Django. We'll try to improve Django's error handling to catch such mistakes in the future.