diff --git a/bookwyrm/models/fields.py b/bookwyrm/models/fields.py index 28effaf9b..1e458c815 100644 --- a/bookwyrm/models/fields.py +++ b/bookwyrm/models/fields.py @@ -483,10 +483,12 @@ class ImageField(ActivitypubFieldMixin, models.ImageField): image_slug = value # when it's an inline image (User avatar/icon, Book cover), it's a json # blob, but when it's an attached image, it's just a url - if hasattr(image_slug, "url"): - url = image_slug.url - elif isinstance(image_slug, str): + if isinstance(image_slug, str): url = image_slug + elif isinstance(image_slug, dict): + url = image_slug.get("url") + elif hasattr(image_slug, "url"): # Serialized to Image/Document object? + url = image_slug.url else: return None