From: Radek Czajka Date: Tue, 6 Oct 2020 09:09:05 +0000 (+0200) Subject: Remove race condition in building ebooks. X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/2efc949091b037dc8e9d43b37788eb30105b11e9 Remove race condition in building ebooks. --- 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.