Я знаю, что здесь есть очень похожая тема, но я не могу найти решение своей проблемы.
Мне нужно переименовать файл, который сохраняется в моделях django.FileField
я пробовал это
os.rename(old_path, new_path)
mod.direct_file = File(open(new_path))
mod.save()
И это
mod.direct_file.save(new_path, File(open(old_path)))
os.remove(old_path)
И много других способов, но ничего вроде не помогало. Новый файл создается всеми способами, однако данные в файловом поле вообще не меняются.
РЕДАКТИРОВАНИЕ: РЕШЕНО
os.rename(old_path, new_path)
cursor = connection.cursor()
cursor.execute("UPDATE mods_mod SET direct_file = %s WHERE id = %s", [new_name, mod.id])
transaction.commit_unless_managed()