Хранение содержания файла в DB

Короткий ответ - да. Наиболее важное различие - то, что AutoResetEvent только позволит одному единственному потоку ожидания продолжаться. ManualResetEvent, с другой стороны, будет продолжать позволять потоки, несколько одновременно даже, продолжаться, пока Вы не скажете ему останавливаться (Сброс он).

11
задан dbr 6 September 2012 в 22:08
поделиться

3 ответа

это очень просто

просто переопределите метод сохранения в admin

filecontent=form.cleaned_data.get('upload_file')  
data =filecontent.read()
from django.db import connection
cursor = connection.cursor()
cursor.execute("update filecontent set filecontent=(%s) where id=(%s)",[data,obj.id])
connection.connection.commit()
cursor.close()
connection.close()

это сохранит содержимое файла в столбце db filecontent содержимого файла таблицы

-2
ответ дан 3 December 2019 в 02:52
поделиться

А как насчет того, чтобы просто сохранить его в двоичном столбце? Затем вы можете сохранить коллекцию байтов. И если имя файла также важно для вас, вы можете сохранить его в дополнительном столбце имени.

1
ответ дан 3 December 2019 в 02:52
поделиться

Не обращайте внимания на скептиков. Если вы хотите иметь полный контроль над своим контентом, поместите файлы в поле большого двоичного объекта в базе данных. Обычно я также сохраняю имя файла в отдельном поле, поэтому я могу восстановить файл по мере необходимости (таким образом вы сохраните расширение, которое привяжет его к типу файла в большинстве операционных систем).

Обязательно сохраните фактический blob данные в отдельной таблице, связанные только с вашим именем файла / таблицей дополнительной информации через идентификатор ... таким образом вы не жертвуете производительностью при работе с любой информацией, относящейся к файлу, кроме самого содержимого.

Скептики не понимают, что базы данных - это просто чрезвычайно оптимизированная форма файловой системы. Байты - это байты, а сектора диска - это сектора диска. Базы данных просто намного лучше организуют и ищут эти байты, чем файловые системы. Не говоря уже о том, что в базах данных реализована гораздо более строгая безопасность, чем в большинстве файловых систем, и они лучше поддерживаются (с резервным копированием, службой поддержки и т. Д.).

22
ответ дан 3 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: