Где добавить Many to Many в django?

Итак, я создаю приложение, в котором пользователь может добавлять университеты в избранное или список желаний! Проблема в том, что я просто запутался, как и где добавить ManyToMany ?

Model Student:
   name = models.CharField
   .....

Model University:
   name = models.CharField
   .....

Model Wishlist:
   wish = models.ManyToMany(University)

Правильно ли это, можно ли создать отдельный класс модели как "wishlist" или я могу иметь wishlist на Student:

Я совершенно запутался, все, что мне нужно сделать, это "пользователь должен иметь возможность нажать кнопку сердца и добавить университет в список желаний, а если он нажмет повторно, он должен быть удален"

Если Student может иметь только один список желаний, то нет смысла определять дополнительную модель с помощью ManyToManyField. Это приведет к созданию дополнительной таблицы, что сделает запросы менее эффективными, а программы менее читаемыми.

В этом случае вы можете определить ManyToManyField от вашего Student к University, так:

class Student(models.Model):
    name = models.CharField(max_length=128)
    wishlist = models.ManyToManyField('University', blank=True)
    # ⋮

class University(models.Model):
   name = models.CharField(max_length=128)
Вернуться на верх