django-treebeard / docs / caveats.rst

Known Caveats

Django 1.3, MySQL and Proxy Models

Due to a bug in Django 1.3, deleting nodes could be problematic ONLY under the following conditions:

  • Proxy models are used. Most users don't use this. If you are not sure that you are using proxy models, then you are not, and shouldn't worry about this.
  • Django 1.3.X is used
  • MySQL is being used.

Solutions to this problem, either:

  • Don't use proxy models
  • Use PostgreSQL
  • Use Django 1.4+


The actual problem resides in MySQL. This Django bug is a regression because Django stopped working around a limitation in MySQL: MySQL, even while using InnoDB, doesn't support referred constraints checks (which is enough reason to upgrade to PostgreSQL).

Due to this, treebeard doesn't support this problematic configuration and the test suite expect failures (xfail) when it finds it.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.