我遇到了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 :(得分:0)
Django的forms.FileField
期待UploadedFile
。因此FilerFileField实际上是django.db.models.ForeignKey
的子类。因此,您应该在表单中使用ChoiceField
。
book = forms.ModelChoiceField(queryset=filer.models.File.objects.all())
另请参阅django-filer的使用说明和ModelChoiceField
上的django文档: