【发布时间】:2017-03-02 00:35:08
【问题描述】:
在无法继承 Page 的 Django 模型中,我想将现有的 ImageField 转换为使用 Wagtail 图像。我已将该字段重新定义为:
avatar = models.ForeignKey(
'wagtailimages.Image', null=True, on_delete=models.SET_NULL, related_name='+'
)
用户需要能够将图片上传到他们的个人资料视图。在 Django 视图的 forms.py 中,我有:
avatar = forms.ImageField(
label='Your Photo', required=False,
error_messages={'invalid': "Image files only"}, widget=forms.FileInput())
当我将图像上传到视图时,它会崩溃:
Cannot assign "<InMemoryUploadedFile: filename.jpg (image/jpeg)>":
"UserProfile.avatar" must be a "Image" instance.
我很确定问题在于表单中的字段定义,但我无法弄清楚正确的定义应该是什么。
我知道我需要手动将图像附加到 UserProfile 和 Collection,但需要先克服这个错误。还是尝试在非 WT 模型中使用单个 WT 字段是个坏主意?谢谢。
【问题讨论】: