У меня есть приложение, в котором в прошлом хранились двоичные данные:
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 выглядит хорошо.
Как хранить данные, которые были в BinaryField (в БД) раньше, самым питоническим / django / простым способом?
Я вижу несколько способов решить это сейчас
V1: FileField
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 ()
V2: содержание объекта
Я реализую это сам, используя библиотеку minio python.
В качестве имени файла я использую первичный ключ текущего BLOB-объекта.
Но и здесь: удаление данных на сервере хранения также необходимо осуществить.
V3: ...
Я думаю, есть и другие решения. Пожалуйста, скажите мне, если вы видите возможное решение.