Django provides a very clean layer on top of the database, and a great approach to structuring a system (apps, included urls.py, template dirs, templatetags, middleware). As with anything, though, the more complex the task, the more you need to be aware of what it is doing under the hood. Understanding when Django does lazy queries, where things are processed, etc. is very important.