Есть простые пользователи(
исполнители). И есть
проекты, и у проектов есть
модули, и у проекта есть
исполнители. В одном проекте могу участвовать несколько исполнителей. И у одного проекта могут быть несколько модулей.
А вот у модулей есть один исполнитель.
Как можно сделать такую свзяь ?:
status_choice = (
(0, 'Not ready'),
(1, 'Ready')
)
class Project(models.Model):
name = models.CharField(max_length=200)
price = models.IntegerField()
user = models.ManyToManyField(User, verbose_name='Executors')
status = models.IntegerField(default=0, choices=status_choice)
start_date = models.DateTimeField(blank=True, null=True)
end_date = models.DateTimeField(blank=True, null=True)
def __str__(self):
return self.name
class Module(models.Model):
name = models.CharField(max_length=200)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
user = models.ForeignKey(Project.user, verbose_name='Executor')
start_date = models.DateTimeField(blank=True, null=True)
end_date = models.DateTimeField(blank=True, null=True)
status = models.IntegerField(default=0, choices=status_choice)
def __str__(self):
return self.name
данный код просто показательный, вот тут:
user = models.ForeignKey(Project.user, verbose_name='Executors') django не понимает что я хочу