Тестовое задание: Напишите приложение, которое будет иметь следующие модели:
- Группы (иерархическая структура):
- родительская группа
- иконка (jpg/png-формат)
- название (64 символа)
- описание (512 символов) Вычисляемые поля:
- количество дочерних групп
- количество дочерних элементов
- Элементы (принадлежат группам):
- родительская группа
- иконка (jpg/png-формат)
- название (64 символа)
- описание (512 символов)
- дата создания
- проверен модератором (null/true /false)
Все поля, кроме описания и родительской группы для группы, обязательны к заполнению. Создайте API, с помощью которого клиент сможет получать с сервера данные с вычисляемыми полями и совершать навигацию по группам, т.е. показывать содержимое каждой группы (дочерние группы и элементы). Добавьте пагинацию для этих запросов. В результатах запроса выдаются только те элементы, у которых значение поля "проверен модератором" равна true. Также из клиента пользователь должен иметь возможность с помощью API добавить новый элемент, который должен пройти модерацию в админке (запись добавляется со значением NULL для поля "проверен модератором"). Должна быть возможность входа в админку и наполнение контента через админку. Базу данных можете использовать любую(SQLite3, MySQL, PostgreSQL).
Код можете выкладывать на github и высылать ссылку письмом. Обязательно все использованые библиотеки python поместить в requirements.txt.