, когда я пытаюсь добавить данные для многих во многие, как показано в коде представлений ниже
views.py
def playList(request, name, language):
playlist = {
'classic': Classic,
}
playlist2 = {
'classic': 'classic',
}
num = {
'ar': 1,
'en': 2,
}
if request.method == 'POST':
form2 = FavoriteForm(request.POST)
if form2.is_valid():
x = Profile.objects.get(user=request.user)
x.playlist2[name].add(playlist[name].objects.get(id=request.POST.get(playlist2[name])))
form = playlist[name].objects.filter(lang=num[language])
context = {}
for i in form:
context[i] = i
context = {
'form': form,
'playlist': playlist2[name],
}
return render(request, 'playlist.html', context)
получить эту ошибку, что объект str не имеет объектов attr
объект 'str' не имеет атрибута 'objects'
когда я ' m изменить str на istance
, как показано в представлении кода ниже
views.py
def playList(request, name, language):
playlist = {
'classic': Classic,
}
playlist2 = {
'classic': Profile.classic,
}
num = {
'ar': 1,
'en': 2,
}
if request.method == 'POST':
form2 = FavoriteForm(request.POST)
if form2.is_valid():
x = Profile.objects.get(user=request.user)
x.playlist2[name].add(playlist[name].objects.get(id=request.POST.get(playlist2[name])))
form = playlist[name].objects.filter(lang=num[language])
context = {}
for i in form:
context[i] = i
context = {
'form': form,
'playlist': playlist2[name],
}
return render(request, 'playlist.html', context)
я получил это ошибка в том, что в профиле нет атрибута playlist2
У объекта 'Profile' нет атрибута 'playlist2'
, и это код моей модели
modles.py
class Classic(models.Model):
name = models.CharField(max_length=50, blank=False, null=False)
music = models.FileField(upload_to='', max_length=100, blank=True, null=True)
lang = models.ForeignKey(Language, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
classic = models.ManyToManyField(Classic, blank=True)
workOut = models.ManyToManyField(WorkOut, blank=True)
chillOut = models.ManyToManyField(ChillOut, blank=True)
romantic = models.ManyToManyField(Romantic, blank=True)
happy = models.ManyToManyField(Happy, blank=True)
sad = models.ManyToManyField(Sad, blank=True)
def __str__(self):
return str(self.user)