Эффективно ли использование ManyToMany против хранения двух списков ключей в Django? [закрыто]

Имеются две модели, ключи к которым хранятся в третьем поле. Например, имеется курс. Курс включает набор тем и список людей, которые приобрели курс. Нет необходимости устанавливать прямую связь между темой и человеком.
Не могли бы вы объяснить, эффективно ли хранить такую модель с помощью ManyToMany? Ведь в этом случае для каждой пары тема-персона создается отдельный объект. Не проще ли хранить два списка с ключами темы и людей в объекте курса?



class Topic(models.Model):
    title = models.CharField(max_length=200)
    course = models.ManyToManyField(Course,on_delete = models.PROTECT, blank = True, null = True)

class Course(models.Model):
    title = models.CharField(max_length=200) 


class Profile(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    course = models.ManyToManyField(Course,on_delete = models.PROTECT, blank = True, null = True)
Вернуться на верх