mysql - 图像未保存在数据库(mysql)中并在 django 中将 null 显示为 blob
问题描述
我正在从用户那里保存 4 张图片(可能为空)。我不想将图像保存在目录或文件夹中,我需要将图像保存在 db(mysql) 中。'form.save' 正在工作,在查看 db 后,blob 存在,但其中没有数据。不仅null显示为 blob!
表格.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)
视图.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。
推荐阅读
- javascript - Angular子组件重新加载放置在ngif div中的所有内容
- python - 检查交易组之间的值是否发生变化
- java - 验证对象不接受数据类型的 SPRING 函数
- angular - 未定义 fetchCompletion 中的错误 - Angular 10 Visual Studio 代码
- ios - 将按钮添加到显示另一个模态视图控制器的自定义单元格
- python - 无法访问 top.api 中的 Aliexpress 功能
- react-native - 使用 Horizontal={true} 左右滚动 React Native Flatlist
- c - 在C中将负十进制转换为二进制补码
- c++ - 为什么 std::tuple 调用运算符 <=> 两次?
- javascript - api 在 beforeunload 事件中停留在挂起状态