Skip to content

Latest commit

 

History

History
68 lines (58 loc) · 4.17 KB

README.md

File metadata and controls

68 lines (58 loc) · 4.17 KB

Продумать структуру и реализовать модели Клиент (физическое лицо) (реализовать на основе django.contrib.auth)

  • идентификационный номер ( всегда заканчивается на 01 )
  • номер телефона - уникальный, может быть только один в системе
  • дополнительные номера (может иметь несколько)
  • ФИО – в отдельных строках
  • дата создания
  • дата изменения
  • дата изменения статуса
  • статус (активен, не активен)
  • тип (первичный, повторный, внешний, косвенный)
  • email – может иметь несколько имейл
  • пол – всегда только один (мужской, женский, неизвестно)
  • часовой пояс
  • Социальные сети
    • VK – может иметь несколько
    • FB – может иметь несколько
    • ОК – всегда один
    • Instagram, – всегда один
    • Telegram – всегда один
    • WhatsApp – всегда один
    • Viber – всегда один

Юридическое лицо

  • ID идентификационный номер ( всегда заканчивается на 02 )
  • дата создания
  • дата изменения
  • название полное
  • название сокращенное
  • ИНН
  • КПП

Департаменты

  • ID идентификационный номер ( всегда заканчивается на 03 )
  • название древовидная структура с максимальным уровнем вложенности 7

У одного юр лица может быть неограниченное кол-во департаментов Клиент может быть прикреплен к нескольким департаментам

  1. Реализовать CRUD через административную часть Django клиенты, юр лица и департаменты с учетом указанных ограничений через административную часть Django возможность добавлять физ лица в департаменты из карточки департамента, фиксировать дату добавления клиента в департамент в списке департаментов выводить кол-во клиентов
  2. Реализовать получение списков юр лиц, департаментов и клиентов, через DRF, вместе с юр лицами отдавать информацию со списком департаментах и клиентах. Максимально оптимизировать запросы в базу
  3. Реализовать заполнение тестовыми данными через manage команду юр лица - не менее 200 департаменты - не менее 500 физ лица - не менее 30000

Django 3+, Python 3.5+, база на свое усмотрение без использования docker

Если используете дополнительные библиотеки, то необходимо оформить все в requirements.txt Результат тестового задания: должен быть размещен в виде репозитория на github или bitbucket.

==========================================================

Инструкиця по разворачиванию:

  • создат виртульную среду и активировать её (optional);
  • установить зависимости из файла requirements.txt (pip install -r requirements.txt);
  • мигрировать миграции(python manage.py migrate);
  • запустить проект локально(python manage.py runserver).

Запуск заполнения тестовыми данными:

  • python manage.py generatetestdata.