Migration to magic-removal
Today I converted three web sites to the latest Django's trunk formerly known as the magic-removal branch. It was a very positive experience in general. New Database API with lazy database queries (courtesy of QuerySet) rocks! Direct interaction with model classes allows doing a lot of things much simpler than it was before. A lot of small improvements, which makes a big difference like explicit template extensions (use whatever is appropriate for your content), more transparent new Admin inner class, natural overriding of model methods (no more _pre_save() and _post_save() hooks!), and, of course, no more pluralization guessing.
I encountered exactly three small problems during the conversion:
- RemovingTheMagic is a formidable encyclopedia of changes but it is difficult to use it as a cheatsheet for the conversion, because it is not organized by functional areas, and requires modifying files in several passes. I filed an enhancement ticket #1786.
- I had small problems modifying users and groups after the conversion. Instead of change screeens I started to get 404 pages without any helpful traces. I had to regenerate permission tables. An enhancement ticket #1787 shows how I did that.
- I found get_list_or_404() being less flexible than before. I used to pass in "__ne" and "order_by" kwargs, which I cannot do anymore, because they are not recognized as proper keywords. I had to do it manually with exclude() and order_by(), which was not a big deal because get_list_or_404() has a very small body.
In general the whole process was painless and left me completely satisfied with the outcome and code changes. Thanks to all contributors, who made it possible!
Save/recommend this post:
Subscribe to this blog:
Most recent related documents:
Document published at about the same time:
If you want to rate this post or write a review for others to read — use the gadget in the top-right corner of the page.
Leave a comment below:

