2014-09-24 81 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