Значение QuerySet для точного поиска должно быть ограничено одним результатом с использованием срезов: добавление данных в промежуточную таблицу M2M - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь сделать записи для своей базы данных веб-приложения для планирования курса в учреждении.Меня беспокоит то, что я не могу делать записи в промежуточной таблице, полученной из отношения M2M в views.py, но он работает в оболочке.Ошибка трассировки: ValueError: значение QuerySet для точного поиска должно быть ограничено одним результатом с использованием срезов. повышение в строке 7 views.py

models.py

class Departement(models.Model):
    code_departement=models.CharField("code du département", max_length=100, unique=True)
    libelle_departement=models.CharField("Libellé du département", max_length=100)
    faculte=models.ForeignKey("Faculte", on_delete=models.CASCADE)
    cursus=models.ManyToManyField("Cursus", through="AvoirCursus") 


class Cursus(models.Model):
    code_cursus=models.CharField("Code du cursus", max_length=10, unique=True)
    libelle_cursus=models.CharField("Libellé du cursus", max_length=100) 

    def __str__(self):
        return self.libelle_cursus

class AvoirCursus(models.Model):
    cursus=models.ForeignKey("Cursus", on_delete=models.CASCADE)
    departement=models.ForeignKey("Departement", on_delete=models.CASCADE) 

views.py

if request.method == 'POST':
        f = forms.Departement_Form(request.POST)
        if f.is_valid():
            dept = f.save(commit=False)
            code_departement = f.cleaned_data['code_departement'].upper()
            dept.code_departement = code_departement
            cursus = f.cleaned_data['cursus']
            dept.save()
            cursus = get_object_or_404(Cursus, libelle_cursus=cursus )

            AvoirCursus.objects.create( cursus=cursus, departement=dept)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...