(Beta) Simple and flexible way to swap default Django User
Project description
Django-Swap-User (Beta)
About
If you are tired from copying one custom user model from one project to another ones - use this package. This will do all for you.
Installation
pip install django-swap-user
Basic usage
- Choose one of models and settings from table:
Application name | Username field | Description | INSTALLED_APPS |
AUTH_USER_MODEL |
---|---|---|---|---|
to_email |
email |
User with email username |
"swap_user", "swap_user.to_email", |
"to_email.EmailUser" |
to_named_email |
email |
User with email username, first_name and last_name extra fields |
"swap_user", "swap_user.to_named_email", |
"to_named_email.NamedEmailUser" |
to_phone |
phone |
User with phone username |
"swap_user", "swap_user.to_phone", |
"to_phone.PhoneUser" |
- Add corresponding app to
INSTALLED_APPS
:
INSTALLED_APPS = [
...
"swap_user",
"swap_user.to_named_email",
...
]
- Change
AUTH_USER_MODEL
to corresponding:
AUTH_USER_MODEL = "to_named_email.NamedEmailUser"
Architecture
Application swap_user
split into 3 apps:
to_email
- provides user withemail
username fieldto_named_email
- provides user withemail
username field and withfirst_name
,last_name
extra fieldsto_phone
- provides user withphone
username field
Why?
Because if we leave them in one app, they all will create migrations and tables - such approach leads us to redundant tables. They will be treated as 3 custom models within the same app, which causes perplexing and cognitive burden.
With such approach (when there is a common app which contains internal apps) - the user choose and connect only the specific user model which suits best for concrete business-logic.
I have found such approach at Django REST Framework authtoken
application and decide to use it - reference is here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_swap_user-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f521086fe752f22dbefb761e1abb15e98ea04085b1dbabd0ffeb11deef2f0a8 |
|
MD5 | b56f4f807ca032bed9e430310aceca8e |
|
BLAKE2b-256 | 7e135cbee3803858c33a7015cafb1335fbfd9f036a6cc53d29f962d6ae3a5884 |