В Django как сделать bulk_create с моделью, в которой есть поле file?

У меня есть модель Документ:

class Folio():
    status = models.OneToOneField(Status, on_delete=models.CASCADE, verbose_name='current status*')
    file = models.FileField(
        upload_to=create_route_file,
        verbose_name='PDF*',
        help_text='Format PDF'
    )

Мне нужно создать объекты из него с помощью bulk_create(), чтобы сделать это с помощью нескольких запросов.

Я пытаюсь создать объекты сначала с помощью простых Folio() и Status(), поместить их в список, а затем сохранить его с помощью bulk_create:

status = Status()
document_parameters = {
    'status': status,
    ...
}
document = Document(**document_parameters)

file = custom_open_file_function(route_to_file)
file_name = 'name...'
file.file.save(file_name, File(file))

Последняя строка вызывает эту ошибку:

ValueError: save() prohibited to prevent data loss due to unsaved related object 'status'.

Я не хочу делать save() там, потому что это проблема целостности с Status и потому что я не хочу делать там запрос. Вся цель bulk_create заключается в том, чтобы сделать один запрос к статусам и один запрос к документам, избегая выполнения одного запроса к каждому документу. Но я не знаю, как с этим справиться FileField.

Вернуться на верх