Ich habe eine Verpflichtung, wenn ein User-Uploads von Dateien zu Dateisammlungmongoengine wie eine Datei kopieren
class File(Document):
user = ReferenceField(User)
file = FileField()
type = StringField(choices = ('project', 'uploads'))
Der Benutzer kann dann eine Datei für die Aufnahme in ein Projekt einreichen können. Wenn die Datei akzeptiert wird, wird sie kopiert und in der Project-Sammlung gespeichert.
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()
Wenn jedoch der Benutzer entscheidet, seine Uploads Ordner zu reinigen,
files = File.objects(user = current_user, type = 'uploads')
files.delete()
er von Entfernen von Dateien verhindert wird, die die Projektsammlung vorgelegt wurden. Was ist der beste Weg, dies zu vermeiden? Gibt es eine Möglichkeit, eine Datei zu kopieren, so dass jede Datei eine 1: 1-Korrespondenz mit einem Eintrag in einer Sammlung hat? Wenn Sie dann ein Dokument aus einer Sammlung entfernen, wird auch die Datei entfernt.