Django: объединить таблицы - показать статистику учащихся, но только статистику, связанную с определенной c командой - PullRequest
0 голосов
/ 28 мая 2020

не могу осмыслить это.

Итак, я хочу показать статистику учеников в данной команде.

У учеников может быть несколько характеристик, но я хочу только показать статистика ученика, если статистика из моей команды.

Рассмотрим модели

class Stat(models.Model):
    statname = models.CharField(max_length=200)
    statvalue = models.PositiveIntegerField(default=0, validators=[MinValueValidator(0), MaxValueValidator(100)])

    def __str__(self):
        return f"{self.statname self.statvalue}"

class Student(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    stat = models.ManyToManyField(Stat)

    def __str__(self):
        return f"{self.user}"

class Coach(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)

    def __str__(self):
        return f"{self.user}"

class Team(models.Model):
    name = models.CharField(max_length=200)
    student = models.ManyToManyField(Student)
    coach = models.ManyToManyField(Coach)
    some_kind_of_stat_relation?

    def __str__(self):
        return f"Team {self.id}"

Вид:

def team_view(request, pk):
team = get_object_or_404(Team, pk=pk)

# Get the coaches and students
coaches = team.coach.all()
students = team.student.all()

Не уверен, как объединить эти таблицы . Надеюсь, вы видите, чего мне не хватает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...