У меня есть требование, где а добавления пользовательских файлов в коллекции файловmongoengine как скопировать файл
class File(Document):
user = ReferenceField(User)
file = FileField()
type = StringField(choices = ('project', 'uploads'))
пользователь может представить файл для приемки проекта. Если файл принят, он затем копируется и сохраняется в коллекции проекта.
class Project(Document):
file = ReferenceField(File)
file = File.objects(id = id)
copy = File(user = current_user, file = file.file, type = 'project').save()
Project(file = copy).save()
Однако, если пользователь решит очистить свою папку загрузок,
files = File.objects(user = current_user, type = 'uploads')
files.delete()
он предохраняется от удаления файлов, которые были представлены в коллекцию проекта. Каков наилучший способ избежать этого? Есть ли способ скопировать файл, так что каждый файл имеет соответствие 1: 1 с записью в коллекции? Затем удаление документа из коллекции также приведет к удалению файла.