2017-09-03 81 views
1

你好家伙卡住尽我所能查询文件在一个外键,但它不起作用Django抛出一个错误我一直试图做这个很长一段时间我只是给了,现在我回到它需要帮助!如何查询文件字段,这是相关的外键

from __future__ import unicode_literals 

from django.db import models 


class Examination(models.Model): 
    examination_name = models.CharField(max_length=50, unique=True) 

    class Meta: 
     verbose_name='examination' 
     verbose_name_plural='examinations' 

    def __unicode__(self): 
     return self.examination_name 

class YearAndExaminationName(models.Model): 
    exam_name = models.ForeignKey(Examination) 
    examination_year = models.CharField(max_length=4) 


    class Meta: 
     verbose_name='year and examination name' 
     verbose_name_plural='year and examination names' 

    def __unicode__(self): 
     return self.examination_year 


class PastQuestion(models.Model): 
    year_and_exam_name = models.ForeignKey(YearAndExaminationName) 
    file_name = models.CharField(max_length=40, default='self') 
    file = models.FileField(upload_to='uploads/', max_length=100,) 
    posted_by = models.CharField(max_length=40) 


    def __unicode__(self): 
     return self.file_name 

我打算做的是让PDF文件通过通过ID或PK,但是当我搜索计算器或谷歌什么,我得到的是如何将HTML转换为PDF从视图中引用来显示文件。

我的看法

def jamb_detail(request): 
    instance = get_object_or_404() 
    context = { 
    "title":"Jamb Past Question", 
    "instance":instance.year_and_exam_name, 
    } 
    return render(request, 'past_question/jamb_detail.html', context) 
+0

包括你的views.py –

+0

我没有任何想法如何去渲染PDF格式。因为我从django管理员上传。 – user6771817

回答

0

views.py

def pdf_view(request): 

    # get file path by querying model and then 
    with open('/path/to/my/file.pdf', 'rb') as pdf: 
     response = HttpResponse(pdf.read(), mimetype='application/pdf') 
     response['Content-Disposition'] = 'inline;filename=some_file.pdf' 
     return response 
    pdf.closed 
+0

我必须指定我想要显示的文件吗?因为我不打算只显示一个PDF文件,如下所示,我从我的模型上传了很多文件我想要显示文件名,那么我将得到在浏览器中呈现的pdf。 file_name = models.CharField(max_length = 40,default ='self')然后我将显示PDF文件。 – user6771817

+0

是的,你需要指定文件。 –

+0

但我会查询很多文件。就像通过id = id获取帖子......?有点困惑在这里。 – user6771817