Я пытаюсь создать приложение, в котором пользователи войдут в свой профиль и смогут добавлять песни в свой список избранного. Я определяю для этого отношение M2M.Первичный ключ модели Django в качестве пары
Мой вопрос в том, как сказать, что сочетание (песня, певица) уникально? Я искал и обнаружил, что это возможно с помощью unique_together. Это правильный способ установить это?
models.py:
from django.contrib.auth.models import User
class Singer(models.Model):
name = models.CharField(max_length=500, unique=True)
def __str__(self):
return self.name
class Song(models.Model):
id = models.AutoField(primary_key=False)
singer = models.ForeignKey(Singer, on_delete=models.CASCADE, related_name='song')
name = models.CharField(max_length=500)
Class Meta:
unique_together = (singer, id)
def __str__(self):
return self.name
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
songs = models.ManyToManyField(Song, related_name='profile')
def __str__(self):
return self.user.username
Пожалуйста, не стесняйтесь исправить мой models.py, если вы считаете, что отношения не правильно.
Спасибо,