Django-cms and MPTT
1/17/2011I had quite a bit of trouble with errors like this:
AttributeError: 'module' object has no attribute 'get_ancestors'
I was moving to a new host and even though I had tested the exact same setup, and created a fresh virtualenv with my requirements according to best practices, I still had dependency problems with Django-mptt.
It's not obvious from discussions like this (at least to a Django newb), but Django-cms includes it's own copy of MPTT. But if you use pip to install Django, it'll bundle mptt-0.4.2. You don't want this.
To fix, simply uninstall the site package to use the provided version:
pip uninstall django-mptt
You might need to also update Django-cms, since the MPTT version that it provides might have been overwritten.
It's worth mentioning that Django-cms plans to fix this soon, hopefully in 1.2.