Перенос данных файла объекта в Django - создание файла данных без файла - PullRequest
0 голосов
/ 14 июня 2019

У меня проблемы с переносом данных в таблицы, содержащие объект FieldFile. Проблема здесь в том, что У меня еще нет файлов . Я использую специальный метод для создания ObjectFile.

def create_object_file(file):
    return = ObjectFile.objects.create(
            name=name,
            content_type=file.content_type,
            extension=extension,
            uploaded_by=object_user,
            md5sum=file.md5sum,
            file=''
        )

Файл является полевым файлом. Мне нужно зарегистрировать его без файла, поскольку у меня еще нет файлов.

Я пытался импортировать FieldFile из django.db.models, думая о том, чтобы создать его экземпляр для file. Но сейчас он пропускает chunks.

1 Ответ

0 голосов
/ 14 июня 2019

Я предполагаю, что одним из решений было бы использование raw sql для заполнения новой базы данных.

Итак, это решение не является реальным решением проблемы: как перенести файл данных без файлов?

Мне удалось получить некоторые файлы, с которыми я должен работать, и я сделал то, что должен был, что довольно просто:

from django.core.files import File


def create_source_file(file, object_file):
    media = os.path.join(SOURCE_FILES, file.path)
    if not os.path.exists(media):
        return

    of = ObjectFile(
        name=name,
        content_type=file.file_type,
        extension=extension.lower(),
        md5sum=file.md5sum,
    )
    with open(media, 'rb') as m:
        of.file.save(file.name.lower(), File(m))
        of.save()
...