def delete(self, file_uuid): uploaded_file = File.get_active_by_uuid_or_404(file_uuid) require(DELETE, uploaded_file) for assignment in uploaded_file.assignments.all(): assignment.file_id = None for answer in uploaded_file.answers.all(): answer.file_id = None uploaded_file.active = False db.session.commit() on_file_delete.send( self, event_name=on_file_delete.name, user=current_user, data={'file_id': uploaded_file.id}) return {'id': uploaded_file.uuid}