Sé que probablemente no debería abrir otro hilo para esta pregunta porque se ha preguntado y respondido muchas veces aquí. Sí, he trabajado en los tutoriales y he navegado mucho por la web. aquí y en otros sitios, pero estoy teniendo dificultades para guardar entradas de formulario en la base de datos.
alguien debería venir a mi rescate. He estado tratando de hacer esto durante 3 días, es muy frustrante.
aqui estan mis codigos
modelos.py clase QuestionBank(modelos.Modelo):
First_Semester ='First_Semester' Second_Semester ='Second_Semester' Semesters = ((First_Semester, 'First_Semester'),(Second_Semester, 'Second_Semester')) level = models.ForeignKey(ClassLevel) CourseTitle = models.CharField(max_length=50, null=False) CourseCode = models.CharField(max_length=10, null=False ) CourseUnit = models.IntegerField() Semester = models.CharField(max_length=20, choices=Semesters, default="Select_Semester") Date = models.DateField() question_papers = models.FileField(upload_to = 'QuestionPapers') def __str__(self):`enter code here` return '%s %s %s %s %s %s %s' %(self.level, self.CourseTitle, self.CourseCode, self.CourseUnit, self.Semester, self.Date, self.question_papers ) forms.py class QuestionBankForm(forms.ModelForm): class Meta: model = QuestionBank fields = ('level', 'CourseTitle', 'CourseCode', 'CourseUnit', 'Semester', 'Date', 'question_papers' ) views.py def uploadQpapers(request): context = RequestContext(request) if request.method == 'POST': Qpapers = QuestionBankForm(data=request.POST) if Qpapers.is_valid(): Qpapers.save() return render_to_response("Qbank/uploadQpapers.html", {'Qpapers':Qpapers}, context) else: return HttpResponse('INVALID')quiero poder cargar preguntas pasadas y guardarlas en la base de datos, pero no funciona, no hay mensajes de error porque solo se devuelve la declaración else cada vez que intento guardar, realmente no sé qué hacer, necesito a alguien para ayúdame. gracias de antemano
gracias por todas las sugerencias chicos, finalmente conseguí que funcionara. aquí está el código de vista de trabajo que fue el principal problema
def uploadQpapers(request): context = RequestContext(request) Qpapers = QuestionBankForm(request.POST, request.FILES) if request.method == 'POST': if Qpapers.is_valid(): Upload_Qpapers = Qpapers.save(commit=False) if 'question_papers' in request.FILES: Upload_Qpapers.question_papers = request.FILES['question_papers'] Qpapers.save() return HttpResponse("ALL GOOD DATA SAVED") else: return HttpResponse("NOT GOOD") else: Qpapers = QuestionBankForm() return render_to_response("Qbank/uploadQpapers.html", {'Qpapers':Qpapers}, context)a mi código anterior le faltaba quest.FILES, y no estaba guardando los archivos cargados por separado. Espero que esta solución ayude a otro principiante como yo en el futuro.