Skip to content

Проект представляет собой пример реализации динамически изменяемых полей в моделях, не прибегая к изменению структуры базы данных.

Notifications You must be signed in to change notification settings

Badmajor/Dynamic-Field-For-Model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект: Dynamic Field For Model

Описание: Проект представляет собой пример реализации динамически изменяемых полей в моделях, не прибегая к изменению структуры базы данных.

Принцип работы: Создается модель профессии. Она имеет связь many-to-many с таблицей dynamic_fields. Динамические поля создаются отдельно и могут быть переиспользованы в других профессиях. Дополнительные поля можно редактировать.

Создавая дополнительное поле нужно выбрать тип поля, НА данный момент представлены 3 типа:

  • Число
  • Текст
  • Выбор значения

Каждое поле можно отметить обязательным. При выборе типа "Выбор значения" нужно указать через запятую как минимум 2 значения на выбор.

На основании профессии создается вакансия. Информация о дополнительных полях храниться в поле extra_fields в формате JSON. Данные валидируются согласно указанным типам.

Приложение упаковано в 3 контейнера: База данных, приложение и nginx.

Запуск проекта:

  1. Клонировать репозиторй
  2. Из каталога /infra запустить Docker Compose

Проект будет доступен по http://127.0.0.1:8777

  1. Загрузить фикстуры в БД:
sudo docker compose exec backend python manage.py loaddata data.json


Данные для входа в админ панель: User: admin Password: admin

http://127.0.0.1:8777/professions/ - просмотр созданных профессий со списком дополнительных полей

http://127.0.0.1:8777/vacancies/ - просмотр созданных вакансий на основании профессий

About

Проект представляет собой пример реализации динамически изменяемых полей в моделях, не прибегая к изменению структуры базы данных.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published