这是我的代码:
#models.py
class Upload(models.Model):
#image = models.FileField() #working code
image = models.BinaryField() #not working
#forms.py
class UploadModelForm(forms.ModelForm):
class Meta:
model = Upload
fields = ('image')
labels = { 'image': "Upload Image" }
widgets = {
'image' : forms.FileInput(attrs={'multiple': True})
}
当我运行它时,它会抛出以下错误:
'图像'无法为上传模型表单指定,因为它是一个不可编辑的字段
但是当我将BinaryField
更改为FileField
时,它运行正常。问题是,在我的数据库中,FileField
有一个DataType char
,这不是我想要的。我希望DataType为blob
。
修改 我忘了说我试过了:
image = models.BinaryField(editable = True)
它无效。
答案 0 :(得分:1)
请注意,此内容已在Django 2.1
中更改Django 2.1:
较旧的版本不允许将可编辑的设置设置为True。
答案 1 :(得分:0)
此链接可能会帮助您。您仍然可以将字段类型设置为以下可用选项之一:
http://django-mysql.readthedocs.io/en/latest/model_fields/resizable_text_binary_fields.html
希望有所帮助!