0

Comment passer l'objet de ClassDetail à CreateNewStudent afin de l'utiliser dans son modèle?comment placer plusieurs objets dans un modèle

Merci.

class ClassDetail(DetailView): 
     context_object_name = "Class" 
     template_name = "temp/students.html" 
     model = Class 

class CreateNewStudent(CreateView): 
    model = Student 
    form_class = forms.StudentForm 
    template_name = "temp/newstudent.html" 

Répondre

1

Comme je vois que tu as deux modèles Class et Student. Dans ce cas, il est préférable de créer une vue personnalisée:

def myCustomView(request, pk): 
    get_class = get_object_or_404(Class, pk=pk) 
    student_form = StudentForm 
    if request.POST: 
     student_form = StudentForm(request.POST) 
     if student_form.is_valid(): 
     ... 
     return ... 
     else: 
     return render(request, 'index.html', {'get_class':get_class, 'student_form':sudent_form}) 
    else: 
     return render(request, 'index.html', {'get_class':get_class, 'student_form':sudent_form}) 
+0

J'ai besoin d'utiliser des CBV, existe-t-il un autre moyen de le faire avec les CBV? – Goun2

+0

merci pour la réponse – Goun2

+0

Selon la documentation officielle "Une vue qui affiche un formulaire pour créer un objet, réafficher le formulaire avec des erreurs de validation (s'il y en a) et enregistrer l'objet.". Donc non –