图像未保存在数据库(mysql)中,并且在django中将null显示为blob



我正在保存用户的4个图像(可能为空(。我不想把图像保存在目录或文件夹中,我需要把图像保存到db(mysql(中。"form.save"正在工作,在数据库中查找后,存在blob,但其中没有数据。不仅null显示为blob

forms.py

class ClientCreateForm(ModelForm):
photo = forms.ImageField(required=False)
signature = forms.ImageField(required=False)
poi_image = forms.ImageField(required=False)
poa_image = forms.ImageField(required=False)

型号.py

class Client(models.Model):

photo = models.ImageField(db_column='PHOTO', blank=True, null=True)  
signature = models.ImageField(db_column='SIGNATURE', blank=True, null=True)  
poi_image = models.ImageField(db_column='POI_IMAGE', blank=True, null=True)  
poa_image = models.ImageField(db_column='POA_IMAGE', blank=True, null=True)   

views.py

def client_create_view(request):
if request.method == 'POST':
form = ClientCreateForm(request.POST)
if form.is_valid():
form.save()
else:
pass



根据Django文档,ImageField和FileField不是这样工作的,它们保存在MEDIA_ROOT中并添加数据库的路径。您应该改为使用BinaryField。

在PostgreSQL中,它应该是"BYTEA";而不是";BLOB";。

最新更新