Я хочу отобразить названия моделей дорожек (то есть поле ForeignKey () в модели списка воспроизведения) в виде списка флажков в шаблоне.Я знаю, что такое «CheckboxSelectMultiple», но я не знаю, как реализовать его в моей ситуации.
Вот моя модель «Плейлист»:
class Playlist(models.Model):
title = models.CharField(max_length=40, null=True)
description = models.CharField(max_length=500, null=True)
author = models.ForeignKey(User, default=None, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
miniature = models.ImageField(upload_to='images/playlist', default="defaults/default.png", validators=[validate_miniature_file_extension])
tracks = models.ManyToManyField(Track)
favourite = models.BooleanField(default=False)
def __str__(self):
return self.title
Вот моя модель «Трек»:
class Track(models.Model):
title = models.CharField(max_length=40, null=True)
description = models.CharField(max_length=500, null=True)
author = models.ForeignKey(User, default=None, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
miniature = models.ImageField(upload_to='images/track', default="defaults/default.png", validators=[validate_miniature_file_extension])
audio_or_video = models.FileField(upload_to='audio_and_video/', default="file_not_found", validators=[validate_track_file_extension])
favourite = models.BooleanField(default=False)
def __str__(self):
return self.title
Вот форма:
class AddPlaylist(forms.ModelForm):
class Meta:
model = models.Playlist
fields = ['title', 'description', 'tracks', 'miniature', 'favourite']
widgets = {
'description': Textarea(attrs={'cols': 30, 'rows': 10}),
}