Эта задача была помечена как содержащая конфиденциальную информацию, такую как уязвимости кода и утечки конфиденциальных данных, и доступна для просмотра только участниками репозитория
После создания записи страница не обновляется. Я провел тестирование и обнаружил, что на самом деле после создания записи в базе данных она просто кэшируется в памяти с помощью flush, но коммит транзакции происходит автоматически с задержкой. Рекомендуется выполнять коммит вручную при создании записи, а затем обновлять данные на клиентской стороне, чтобы избежать необходимости ручного обновления данных после каждого создания записи.
Фильтры на фронтенде используются с помощью select. Я хотел бы использовать событие change для обновления данных после выбора.
Функциональность CRUD на серверной стороне слишком жестко закреплена, что затрудняет работу с несколькими связанными таблицами. При возникновении ошибок типа возникают ошибки.
Хотя на серверной стороне используется структура MVC Django, она достаточно ясна, но рекомендуется разделить view и CRUD на отдельные модули, как models и params, а также разделить систему на модули, такие как пользователи, отделы, меню, чтобы было удобнее вносить изменения. В противном случае файл view может содержать сотни строк кода, что затрудняет поиск.
В CRUD не следует добавлять слишком много логики, лучше добавить её в view, чтобы это было более понятно. Исключение составляют случаи, когда логика может быть переиспользована.