Я создаю систему типов ERP, где у меня есть модель django (таблица) под названием «сотрудник».
Я хочу, чтобы каждый работник компании был «сотрудником». (например, кодер, начальник, уборщик, линейный менеджер и т. д. c. все будут «сотрудниками»)
Я также хочу, чтобы у некоторых сотрудников был один или несколько линейных руководителей. А у линейного менеджера может быть несколько сотрудников.
Итак, вопрос в том, как сделать линейного менеджера частью таблицы «работник» и иметь поле, которое описывает «сотрудников» под линейным менеджером? Так что я могу показать, какой линейный менеджер / ы есть у сотрудника. Также покажите, у какого линейного менеджера какие сотрудники под ним?
Вот файл модели:
class Team(models.Model):
name = models.CharField(max_length=64)
t_id = models.CharField(max_length=64)
def __str__(self):
return self.name
class Employee(models.Model):
first_name=models.CharField(max_length=64)
last_name=models.CharField(max_length=64)
e_id=models.CharField(max_length=64)
current_role=models.CharField(max_length=64) # "coder"
past_roles=models.CharField(max_length=512) # "coder, developer, janator" (seperator: ,)
teams = models.ManyToManyField(Team, related_name="employees", blank=True)
joining_date = models.DateTimeField(null=True,blank=True)
desk_location=models.CharField(max_length=64)
#How do I go about this?
line_manager = ???
def __str__(self):
return self.first_name
Я новичок в django, поэтому, пожалуйста, прости меня, если я упускаю что-то очень простое. Также, если есть более элегантное решение, которое требует от меня добавления дополнительных таблиц, я не против.
Спасибо