Где добавить 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)