Migration to magic-removal
Posted: Saturday, May 6, 2006
Updated: Sunday, May 7, 2006
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!
Most recent related documents:
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: