过去我有一个存储二进制数据的应用程序:
class Blob(models.Model):
content = models.BinaryField()
name = models.CharField(max_length=10000, default='')
content_type = models.CharField(max_length=1024, default='application/octet-stream')
二进制数据越来越多,我想将其存储在存储服务器中。
minio看起来不错。
如何以最pythonic / django / simple的方式存储之前在BinaryField(在数据库中)中的数据?
我现在看到几种解决方法
class Blob(models.Model):
content = models.FileField()
name = models.CharField(max_length=10000, default='')
content_type = models.CharField(max_length=1024, default='application/octet-stream')
这有一个缺点,那就是删除文件需要由我完成。查看有关FieldFile.delete()
的文档我自己使用minio python lib来实现。
我将当前Blob的主键用作文件名。
但是在这里再次:删除存储服务器中的数据也需要实现。
我想还有更多解决方案。请告诉我您是否看到可行的解决方案。