Припустим есть такая модель
class Films(models.Model):
name=models.CharField(max_length=30,verbose_name=u'Фильм')
genre=models.ManyToManyField('Genres',verbose_name=u'Жанр')
class Genres(models.Model):
name_genre=models.CharField(max_length=30,verbose_name=u'Жанр')
И такая форма
class FilmsForm(ModelForm):
class Meta:
model=Films
Когда идет множественный выбор с помощью "Удерживайте "Control" (или "Command" на Mac), чтобы выбрать несколько значений. " в представление поступает только один жанр с самым меньшим рк.
Соответствено и POST передает одно значение (genre --- u'1'), а не так как написано в документации что
ModelMultipleChoiceField
--- Возвращает: Список экземпляров модели.
Почему так и как добится множественного выбора ???
views.py
def add_film(request):
if request.method == 'POST':
form_film = FilmsForm(request.POST)
if form_film.is_valid():
film=Films()
film.save()
return HttpResponseRedirect('/%s/'% film.pk)
else:
form_film = FilmsForm()
return render_to_response( 'info_add.html',{'form_film':form_film}, context_instance=RequestContext(request))
Updated 13 April 2014, 18:03 by anton12petrenko.