Нередко заменять пользовательскую модель, как указано в документации: https://docs.djangoproject.com/es/1.9/topics/auth/customizing/#substituting-a-custom-user-model,, поэтому, учитывая это, лучше получить класс пользовательской модели со следующим кодом:
from django.contrib.auth import get_user_model
UserModel = get_user_model()
Впоследствии вы можете использовать это UserModel
для добавления функциональности, как предлагает @Lakshman Prasad: UserModel.add_to_class('get_related_foo_models', get_related_foo_models)
.
Чтобы выполнить код только один раз, я предпочитаю использовать классы конфигурации приложения Django (https://docs.djangoproject.com/es/1.9/ref/applications/),, поэтому полный рабочий пример будет:
# myapp/__init__.py
default_app_config = 'myapp.apps.MyAppConfig'
# myapp/apps.py
from django.apps import AppConfig
from django.contrib.auth import get_user_model
class MyAppConfig(AppConfig):
name = 'myapp'
verbose_name = 'MyApp'
def ready(self):
# Add some functions to user model:
def custom_function(self):
# Do whatsoever
pass
UserModel = get_user_model()
UserModel.add_to_class('custom_function', custom_function)