Я сделал форму, и там у меня было поле с несколькими вариантами выбора, называемое исполнителями, которое я получил из своей базы данных, и при добавлении песни пользователь может выбрать нескольких исполнителей и сохранить песню.
Художники - это ManyToManyField в Django моделях.
models.py
class Artists(models.Model):
""" Fields for storing Artists Data """
artist_name = models.CharField(max_length = 50, blank = False)
dob = models.DateField()
bio = models.TextField(max_length = 150)
def __str__(self):
return self.artist_name
class Songs(models.Model):
""" Fields for storing song data """
song_name = models.CharField(max_length = 30, blank = False)
genre = models.CharField(max_length = 30, blank = False)
artist = models.ManyToManyField(Artists)
release_date = models.DateField()
forms.py
class Song_input(forms.Form):
queryset = Artists.objects.only('artist_name')
OPTIONS = []
for i in queryset:
s = []
s = [i, i]
OPTIONS.append(s)
artist_name = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple,choices=OPTIONS)
song_name = forms.CharField()
genre = forms.CharField()
release_date = forms.DateField(widget=DateInput)
Теперь я хочу получить все значения, выбранные в форме, и сохранить их в моей базе данных. Здесь artist_name может иметь несколько значений.
Я пытался использовать методы add () и create (), но не могу понять, как добавить все данные, где одно поле (artist_name), имеющее несколько данных, в мою базу данных .