From 2efc949091b037dc8e9d43b37788eb30105b11e9 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Tue, 6 Oct 2020 11:09:05 +0200 Subject: [PATCH] Remove race condition in building ebooks. --- src/catalogue/fields.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/catalogue/fields.py b/src/catalogue/fields.py index d88787e63..52a6d1b17 100644 --- a/src/catalogue/fields.py +++ b/src/catalogue/fields.py @@ -169,12 +169,7 @@ class BuildEbook(Task): fieldfile.save(None, File(open(out.get_filename(), 'rb')), save=False) self.set_file_permissions(fieldfile) if book.pk is not None: - books = type(book).objects.filter(pk=book.pk) - books.update(**{ - fieldfile.field.attname: fieldfile - }) - for book in books: - book.save() # just to trigger post-save + book.save(update_fields=[fieldfile.field.attname]) if fieldfile.field.format_name in app_settings.FORMAT_ZIPS: remove_zip(app_settings.FORMAT_ZIPS[fieldfile.field.format_name]) # Don't decorate BuildEbook, because we want to subclass it. -- 2.20.1