поиск загрузки файла в базу данных в Django - PullRequest
0 голосов
/ 04 августа 2020

Я создаю платформу для обмена заметками для своего колледжа. Я написал следующий код в структуре Django python. поэтому я хочу применить параметр фильтра в моем коде Django. Я сохранил PDF-файл в папке мультимедиа через запись в базе данных. теперь я хочу применить параметр фильтра для Pre_Q_Paper к файлу базы данных, который мы показываем на главной странице.

Я хочу отфильтровать

предыдущий год -> Класс -> Отдел -> Темы -> теперь весь список файлов отображается на моем html

models.py

from django.db import models

# Create your models here.
class Universitie(models.Model):
    Universities = [("Savitribai Phule Pune Universities","Savitribai Phule Pune Universities"),
    ("Gate","Gate"),
    ("Indian Engineering Services","Indian Engineering Services"),]

    universitie = models.CharField(max_length=100,choices=Universities)
    def __str__(self):
        return self.universitie

class Department(models.Model):
    Departments = [('First Year','First Year'),
                    ('Mechanical Engineering','Mechanical Engineering'),
                    ('Mechanical Sandwitch Engineering','Mechanical Sandwitch Engineering'),
                    ("Electronics And Telecommunication Engineering","Electronics And Telecommunication Engineering"),
                    ("Electrical Engineering","Electrical Engineering"),
                    ("Computer Engineering","Computer Engineering"),
                    ("Civil Engineering","Civil Engineering"),
                    ("Instrumentation Engineering","Instrumentation Engineering"),
                    ("Chemical Engineering","Chemical Engineering"),
                    ("Information Technology Engineering","Information Technology Engineering"),]
    universities = models.ForeignKey(to=Universitie,null=False, on_delete=models.CASCADE)
    department = models.CharField(max_length=100,choices=Departments)
    
    def __str__(self):
        return self.department

class Subject(models.Model):
    Class=[("First Year","First Year"),
            ("Second Year","Second Year"),
            ("Third Year","Third Year"),
            ("Fourth Year","Fourth Year"),]
    
    SEM = [("Semester 1","Semester 1"),
           ("Semester 2","Semester 2"),
           ("Semester 3","Semester 3"),
           ("Semester 4","Semester 4"),
           ("Semester 5","Semester 5"),
           ("Semester 6","Semester 6"),
           ("Semester 7","Semester 7"),
           ("Semester 8","Semester 8"),]
    Department = models.ForeignKey(to=Department,on_delete=models.CASCADE)
    Year = models.CharField(max_length=100,choices=Class)
    Sem = models.CharField(max_length=50,choices=SEM)
    Subjects = models.CharField(max_length=100)

    def __str__(self):
        return self.Subjects

class Pre_Q_Paper(models.Model):
    Semester = [("Winter","Winter"),
                ("Summer","Summer"),]
    pattern = [("2015","2015"),
               ("2019","2019"),]
    semester = models.CharField(max_length=50,choices = Semester)
    Subjects = models.ForeignKey(to=Subject,on_delete=models.CASCADE)
    patterns = models.CharField(max_length=50,choices = pattern)
    Subject_Name = models.CharField(max_length=100)
    papers = models.FileField(upload_to="Previous/")

    def __str__(self):
        return str(self.Subjects) + "/" + str(self.papers)

class Gate(models.Model):
    Year = [("2016","2016"),
            ("2017","2017"),
            ("2018","2018"),
            ("2019","2019"),]
    Years = models.CharField(max_length=50,choices = Year)
    Department = models.ForeignKey(to=Department,on_delete=models.CASCADE)
    Subjects = models.CharField(max_length=30)
    papers = models.FileField(upload_to="Competative/")

    def __str__(self):
        return str(self.Department) + " " + str(self.Subjects)

class Indian_Engineering_Services(models.Model):
    Year = [("2016","2016"),
            ("2017","2017"),
            ("2018","2018"),
            ("2019","2019"),]
    Years = models.CharField(max_length=50,choices = Year)
    Department = models.ForeignKey(to=Department,on_delete=models.CASCADE)
    Subjects = models.CharField(max_length=30)
    papers = models.FileField(upload_to="Indian_Engineering_Services/")

    def __str__(self):
        return str(self.Department) + " " + str(self.Subjects)

Вот мой файл просмотра, когда я применяю фильтр при выходе из печати все предметы. теперь я хочу подать заявку на l oop

views.py

from django.shortcuts import render, get_object_or_404
from .models import Pre_Q_Paper, Gate, Indian_Engineering_Services, Subject



def previousYear(request):
    subject = Pre_Q_Paper.objects.all()
    depart = Subject.objects.all()
    filters = None
    for i in exams:
        print(i)
    print("=========================================================")
    if request.method == "POST":
        if (request.POST.get("Year") != "") & (request.POST.get("Department") != ""):
            a = request.POST.get("Year")
            b = request.POST.get("Department")
            filters = depart.filter(Year=a,Department_id=b)
#I want solution for here
            for i in filters:
                subjects = subject.filter(Subjects__contains = i)

            return render(request,"Previous.html", {"filters":filters})

def Gates(request):
    exams = Gate.objects.all()
    filters = None
    if request.method == "POST":
        if (request.POST.get("Gate") != ""):
            b = request.POST.get("Gate")
            filters = exams.filter(Department_id=b)
    return render(request,"Gate.html", {"Gate":filters})

def EngineeringServices(request):
    exams = Indian_Engineering_Services.objects.all()
    filters = None
    if request.method == "POST":
        if (request.POST.get("EngineeringServices") != ""):
            b = request.POST.get("EngineeringServices")
            filters = exams.filter(Department_id=b)
    return render(request,"EngineeringServices.html", {"Service":filters})
...