ПРОБЛЕМЫ СТАРОЙ СТРУКТУРЫ:
- 5 файлов сигналов в корне employees/ (захламление)
- Непоследовательность: signals_ldap.py vs signals_department.py
- apps.py импортирует каждый файл явно (5 строк)
- Нет группировки по назначению (LDAP разбросан)
НОВАЯ СТРУКТУРА:
employees/
signals/
__init__.py # единая точка входа
common.py # общие сигналы (было signals.py)
birthday.py # дни рождений
ldap/
__init__.py
employee.py # Employee ↔ LDAP
department.py # Department ↔ LDAP OU
group.py # Group ↔ LDAP Group
ПРЕИМУЩЕСТВА:
- Чёткая иерархия: общие сигналы и LDAP-специфичные
- Единый импорт в apps.py: import employees.signals
- Понятные имена модулей (employee.py вместо signals_ldap.py)
- Масштабируемость: легко добавить signals/email/, signals/webhooks/ и т.д.
ИЗМЕНЕНИЯ:
- Создана структура signals/ и signals/ldap/
- Перемещены и переименованы 5 файлов сигналов
- Обновлены docstrings с новыми путями
- Исправлены относительные импорты в common.py
- apps.py: упрощён с 5 импортов до 1
- Django check: успешно
Git корректно распознал переименования (R), история сохранена.
16 lines
607 B
Python
16 lines
607 B
Python
"""Django signals для приложения employees.
|
||
|
||
Структура:
|
||
- common: общие сигналы (создание кадровых событий, чаты отделов)
|
||
- birthday: синхронизация дней рождений с django-scheduler
|
||
- ldap/: автоматическая синхронизация с LDAP
|
||
- employee: Employee ↔ LDAP User
|
||
- department: Department ↔ LDAP OU
|
||
- group: Group ↔ LDAP Group
|
||
"""
|
||
|
||
from . import common, birthday
|
||
from .ldap import employee, department, group
|
||
|
||
__all__ = ['common', 'birthday', 'employee', 'department', 'group']
|