[Django]-What is "swappable" in model meta for?

32👍

swappable is an "intentionally undocumented" feature which is currently under development / in-test. It’s used to handle "I have a base abstract model which has some foreign-key relationships." Slightly more detail is available from Django’s ticketing system and github. Because it’s a "stealth alpha" feature, it’s not guaranteed to work (for anything other than User), and understanding the detailed operation will likely require diving into source code. It works with AUTH_USER_MODEL because the User model and swappable flag were developed together, specifically for each other.

2👍

Django 1.5 added the swappable user models, so you can replace Django User model with one of your own (limit the number of characters, use email as identifier…)

More:
https://docs.djangoproject.com/en/dev/releases/1.5/#configurable-user-model
https://docs.djangoproject.com/en/dev/topics/auth/customizing/#auth-custom-user

Leave a comment