更新所有文件

时间:2016-06-29 18:56:43

标签: python django django-models

我有models.manager我可以从中过滤文件:

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')

如何更新同一功能中的所有文件(将状态更改为PROGRESS)?

1 个答案:

答案 0 :(得分:1)

如果您只想更新status字段:

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)

请参阅有关QuerySet.update方法的文档。请注意,您无法在同一次调用中链接values()update()个方法