2014-09-24 49 views
1

Django遇到了另一个问题。我要上传的PDF与模板的形式,当我点击我的形式上传,出现这种情况:Django - PDF上传的问题

Cannot assign "<InMemoryUploadedFile: thebook.pdf (application/pdf)>": "Product.book" must be a "File" instance. 

这是在我的模型行

book = FilerFileField(null=true,blank=true) 

这是行我的形式

book = forms.FileField(label=u"Book Upload") 
+0

什么是FilerFileField? – 2014-09-24 14:10:03

+0

只是一个简单的文件上传领域...我有什么问题吗?我对Django/Python非常陌生 – Dominic 2014-09-24 14:22:28

+0

它来自django-filer egg – Dominic 2014-09-24 14:31:42

回答

0

Django的forms.FileField期望一个UploadedFile。因此FilerFileField实际上是django.db.models.ForeignKey的一个子类。因此,你应该在你的表格上使用ChoiceField

book = forms.ModelChoiceField(queryset=filer.models.File.objects.all()) 

另见Django的文件管理器的使用说明和Django的文档上ModelChoiceField

+0

这将通过我所有的文件并列出它们。但我希望用户上传一些内容,而不是使用现有的文件 – Dominic 2014-09-25 06:21:05