Django - Назначение сотрудника на проекты на различные даты (продолжительность)

Как я могу назначить каждого сотрудника (много) на проекты (много) и при этом отслеживать даты, когда они были назначены и удалены из каждого проекта? Я понимаю, что это тип отношений ManyToManyField в Django, где:

class Project(models.Model):
    projectname=models.CharField()

class Employee(models.Model):
    firstname = models.CharField()
    lastname = models.CharField()
    start_date = models.DateField(null=False)
    end_date = models.DateField(null=True) #because we don't know this all the time
    projects = models.ManyToManyField(Project)
Как я могу назначить каждого сотрудника (много) на проекты (много) и при этом отслеживать даты, когда они были назначены и удалены из каждого проекта? Я понимаю, что это тип отношений ManyToManyField в Django, где:

Как я могу назначить каждого сотрудника (много) на проекты (много) и при этом отслеживать даты, когда они были назначены и удалены из каждого проекта? Я понимаю, что это тип отношений ManyToManyField в Django, где:

Как я могу назначить каждого сотрудника (много) на проекты (много) и при этом отслеживать даты, когда они были назначены и удалены из каждого проекта? Я понимаю, что это тип отношений ManyToManyField в Django, где:

вы можете использовать пользовательский вариант через модель.

https://docs.djangoproject.com/en/5.0/topics/db/models/#extra-fields-on-many-to-many-relationships

class Project(models.Model):
    projectname=models.CharField()

class pm(models.Model):
  p = models.ForeignKey(Project)
  e = models.ForeignKey('Employee')
  date_start = models.DateField()
  date_end = models.DateField()

class Employee(models.Model):
    firstname = models.CharField()
    lastname = models.CharField()
    projects = models.ManyToManyField(Project, through=pm)


e = Employee.objects.get({query})
p = Project.objects.get({query2})
pm(p=p, e=e, date_start={date}).save()

e.projects.all()
p.employee_set.all()
Вернуться на верх