Передача данных между UpdateView и CreateView в Django - PullRequest
0 голосов
/ 31 мая 2018

У меня было две модели Permit & Course.

class Permit(models.Model):
    name = models.CharField(max_length=50)
    skill_course = models.ManyToManyField(Skill, related_name="+", blank=True)

class Course(models.Model):
    name = models.CharField(max_length=50)
    skills = models.ManyToManyField(Skill, related_name="courses",blank=True,)
    students = models.ManyToManyField(User, related_name="courses",blank=True,)

При нажатии на объекте разрешения отображаются студенты, которые получили разрешение динамически (в UpdateView с методом GET).

Как создать курс с этимистуденты? (в CreateView с методом POST)

Нужно ли передавать данные между двумя представлениями?Я хочу создать файл utils.py, там создать метод с данными, которые я буду использовать в других методах или классе, но класс или функция будут иметь request и pk, я не знаю, как вернуть dict, потому что это должен быть запрос и шаблон правильно?Я был пойман в ловушку в этом, очень благодарен за любую помощь, заранее спасибо ......

1 Ответ

0 голосов
/ 31 мая 2018

Сначала вы должны активировать промежуточное программное обеспечение сеанса в setting.py.

Затем использовать что-то вроде этого:

   def update_project_filter(request):
    ...
    selected_project_id = project_form.cleaned_data["Project_Name"].id
    request.session['selected_project_id'] = selected_project_id
    ...

def update_project(request):
    ...
    selected_project_id = request.session.get('selected_project_id')
    ...def update_project_filter(request):
    ...
    selected_project_id = project_form.cleaned_data["Project_Name"].id
    request.session['selected_project_id'] = selected_project_id
    ...

def update_project(request):
    ...
    selected_project_id = request.session.get('selected_project_id')
    ...
...