@Bjornie
Изучаю Python

Как спроектировать базу для «заказчик/исполнитель»?

Сразу приведу пример по теме, т.к. наверняка меня читают люди знающие площадки типа fl.ru, на которых есть клиент (заказчик) и исполнитель. Мой вопрос заключается в: как лучше спроектировать таблицы на такой случай:
1) Завести одну таблицу, в которой можно указать тип заказчика, и на основании этого показывать (и заполнять) на фронте разные поля.
2) Завести две таблицы: clients, freelancers. Здесь все понятно.

Какой из подходов будет более логичным и правильным? Учитывая то, что у клиента и фрилансера будут "отношения" в виде транзакций, отзывов, выполненных проектов и т.д.

Я склоняюсь к 1-му варианту, т.к. нахожу его более простым.

Но что, если клиент захочет переквалифицироваться в исполнителя? Не давать такого функционала вообще и заставить регистрироваться в качестве нового субъекта?
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
User:
 name
...

Job
 title
...

Participant:
 job = ForeignKey(Job)
 user = ForeignKey(User)
 role = (customer | executor)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы