2016-06-29 6 views
0

Ich habe ein models.manager wo ich Dateien aus filtern:alle Dateien aktualisieren

class FileManager(models.Manager): 
    def get_new_files(self, json_output=None, update=None): 
     files = (self.filter(status=File.PENDING_STATUS)) \ 
        .values('name', 'link', 'size', 'token__userid', 'token__credentials') 

Wie aktualisiere ich alle Dateien in der gleichen Funktion (ändern Sie den Status zu PROGRESS)?

Antwort

1

Wenn Sie nur die status Feld aktualisieren möchten:

class FileManager(models.Manager): 
    def get_new_files(self, json_output=None, update=None): 
     files = (self.filter(status=File.PENDING_STATUS)) \ 
       .values('name', 'link', 'size', 'token__userid', 'token__credentials') 

     self.filter(status=File.PENDING_STATUS).update(status=File.PROGRESS) 

Lesen Sie die Dokumentation auf QuerySet.update Methode. Beachten Sie, dass Sie nicht values() und update() Methoden in demselben Aufruf verketten können.

Verwandte Themen