Кто может объяснить на пальцах, а не в
интерпретаторе как работать с ManyToMany в Django?
При условии
models.pyclass Specialization(models.Model):
spec_name = models.CharField(
verbose_name="Специализация",
max_length=150,
null=False,
blank=False,
)
class Person(models.Model):
author = models.ForeignKey(
User,
default=1,
on_delete=models.PROTECT,
)
first_name = models.CharField(
verbose_name="Имя",
max_length=150,
null=False,
blank=False,
)
last_name = models.CharField(
verbose_name="Фамилия",
max_length=150,
null=False,
blank=False,
)
spec = models.ManyToManyField(
Specialization,
)
forms.pyclass PersonForm(forms.ModelForm):
class Meta:
model = Person
fields = (
'first_name',
'last_name',
)
views.pydef new_person(request):
if request.method == "POST":
person_form = PersonForm(request.POST or None)
if person_form.is_valid():
instance = person_form.save(commit=False)
instance.author = request.user
instance.save()
messages.success(request, "Создана запись в базе данных!")
return HttpResponseRedirect('/person/new/')
else:
person_form = PersonForm()
context = {
'person_form': person_form
}
return render(request, 'form.html', context)
Мой моск отказывается понимать интерпретатор.
UPD:
В базе таблицы создаются, все 3. Таблица специализаций заполнена тремя записями. На странице выводится форма с полями: Имя, Фамилия, Специализации. Заполняю, жму submit. Но в базе не сохраняется отношение в таблице 'person_specialization'. Что я делаю не правильно? Вероятно не сохраняю это самое отношение. Но как его сохранить?