In Django, if you say
managed = False in a model’s
Meta, you tell
Django not to touch the database table. So: no automatic database migrations,
Now, what is the problem if you have
managed = False, and Django does
Some of you will have seen the error already.
The comma after
False is the problem:
>>> a = False, >>> a (False,) >>> bool(a) True
The comma turns it into a tuple. And a non-empty tuple evaluates to True!
I found it quite funny. My colleague was torn between “extremely relieved” and “extremely annoyed” :-)
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):