diff --git a/bookwyrm/models/book.py b/bookwyrm/models/book.py index 2e6377575..4ff377dbb 100644 --- a/bookwyrm/models/book.py +++ b/bookwyrm/models/book.py @@ -551,8 +551,12 @@ class Edition(Book): # clear author cache if self.id: - for author_id in self.authors.values_list("id", flat=True): - cache.delete(f"author-books-{author_id}") + cache.delete_many( + [ + f"author-books-{author_id}" + for author_id in self.authors.values_list("id", flat=True) + ] + ) @transaction.atomic def repair(self): diff --git a/bookwyrm/utils/db.py b/bookwyrm/utils/db.py index fd2601deb..7024d9e47 100644 --- a/bookwyrm/utils/db.py +++ b/bookwyrm/utils/db.py @@ -1,7 +1,7 @@ """ Database utilities """ from typing import Optional, Iterable, Set, cast -import sqlparse # type: ignore +import sqlparse # type: ignore[import-untyped] def format_trigger(sql: str) -> str: diff --git a/bookwyrm/utils/partial_date.py b/bookwyrm/utils/partial_date.py index 4c9391476..d5b3cabc3 100644 --- a/bookwyrm/utils/partial_date.py +++ b/bookwyrm/utils/partial_date.py @@ -222,17 +222,17 @@ class PartialDateDescriptor: return [("DAY", "Day prec."), ("MONTH", "Month prec."), ("YEAR", "Year prec.")] -class PartialDateModel(models.DateTimeField): # type: ignore +class PartialDateModel(models.DateTimeField): # type: ignore[type-arg] """a date field for Django models, using PartialDate as values""" descriptor_class = PartialDateDescriptor - def formfield(self, **kwargs): # type: ignore + def formfield(self, **kwargs): # type: ignore[no-untyped-def] kwargs.setdefault("form_class", PartialDateFormField) return super().formfield(**kwargs) # pylint: disable-next=arguments-renamed - def contribute_to_class(self, model, our_name_in_model, **kwargs): # type: ignore + def contribute_to_class(self, model, our_name_in_model, **kwargs): # type: ignore[no-untyped-def] # Define precision field. descriptor = self.descriptor_class(self) precision: models.Field[Optional[str], Optional[str]] = models.CharField(