Jurnal

Less. Better.

Menu
  • Home
  • Plimbări
  • Echipamente
  • Recomand
  • Contact
Menu

KeyError brain in getObject Plone 6

Posted on 06.01.2025 by GhitaB

I received this error because of some issues with portal catalog. A folder containing images was deleted but the catalog was not updated correctly. my-obj-path was just one of the 899 images.

1/6/2025 10:06:56 AMTraceback (innermost last):
1/6/2025 10:06:56 AM  Module ZPublisher.WSGIPublisher, line 181, in transaction_pubevents
1/6/2025 10:06:56 AM  Module ZPublisher.WSGIPublisher, line 391, in publish_module
1/6/2025 10:06:56 AM  Module ZPublisher.WSGIPublisher, line 285, in publish
1/6/2025 10:06:56 AM  Module ZPublisher.mapply, line 98, in mapply
1/6/2025 10:06:56 AM  Module ZPublisher.WSGIPublisher, line 68, in call_object
1/6/2025 10:06:56 AM  Module plone.rest.service, line 21, in __call__
1/6/2025 10:06:56 AM  Module plone.restapi.services, line 19, in render
1/6/2025 10:06:56 AM  Module plone.restapi.services.search.get, line 10, in reply
1/6/2025 10:06:56 AM  Module plone.restapi.search.handler, line 100, in search
1/6/2025 10:06:56 AM  Module plone.restapi.serializer.catalog, line 61, in __call__
1/6/2025 10:06:56 AM  Module clms.addon.restapi.summary_serializer, line 178, in __call__
1/6/2025 10:06:56 AM  Module plone.app.contentlisting.catalog, line 49, in __getattr__
1/6/2025 10:06:56 AM  Module plone.app.contentlisting.catalog, line 70, in getObject
1/6/2025 10:06:56 AM  Module Products.ZCatalog.CatalogBrains, line 91, in getObject
1/6/2025 10:06:56 AM  Module OFS.Traversable, line 364, in restrictedTraverse
1/6/2025 10:06:56 AM  Module OFS.Traversable, line 347, in unrestrictedTraverse
1/6/2025 10:06:56 AM   - __traceback_info__: ([], 'my0')
1/6/2025 10:06:56 AM  Module OFS.Traversable, line 301, in unrestrictedTraverse
1/6/2025 10:06:56 AM   - __traceback_info__: ([], 'my-obj-path')
1/6/2025 10:06:56 AM  Module plone.folder.ordered, line 229, in __getitem__
1/6/2025 10:06:56 AMKeyError: 'my-obj-path'

I created in Management Interface a python script to find all broken brains:

catalog = context.portal_catalog
brains = catalog('my-obj-path')
broken = []

for brain in brains:
    try:
        obj = brain.getObject()
    except Exception:
        broken.append(brain.getPath())

print(broken)
print("Count: ")
print(len(broken))
return printed

Then, the solution was to go to Catalog and press Update catalog. After 2 minutes, the problem was solved.

Tags: plone, solutions, web development
Category: Programare

Post navigation

← În 2025 vreau…
Orașele lumii: Los Angeles →

Archives

  • October 2026 (10)
  • September 2026 (11)
  • August 2026 (6)
  • July 2026 (1)
  • May 2026 (4)
  • March 2026 (1)
  • February 2026 (1)
  • December 2025 (4)
  • November 2025 (1)
  • September 2025 (1)
  • March 2025 (5)
  • February 2025 (6)
  • January 2025 (7)
  • December 2024 (5)
  • November 2024 (3)
  • October 2024 (2)
  • September 2024 (2)
  • August 2024 (4)
  • July 2024 (14)
  • June 2024 (2)
  • May 2024 (3)
  • March 2024 (6)
  • February 2024 (7)
  • January 2024 (11)
  • December 2023 (3)
  • November 2023 (36)
  • October 2023 (8)
  • September 2023 (5)
  • August 2023 (16)
  • July 2023 (8)
  • June 2023 (1)
  • October 2008 (1)
  • October 2007 (1)
  • October 2006 (1)
  • October 2005 (1)
  • October 2003 (1)
  • October 1995 (1)
  • October 1994 (1)
  • October 1990 (1)
  • June 1988 (1)
  • October 1976 (1)
  • October 1945 (1)
  • March 1941 (1)

Categories

  • 27 (1)
  • Acasă (18)
  • Amintiri (19)
  • Creștine (39)
  • Desen (6)
  • Din cărți (1)
  • Docs (21)
  • Duldy & Țâcă (5)
  • Fotografie (43)
  • Gânduri (52)
  • Grădină (1)
  • Interesant (5)
  • Istorie (3)
  • Jurnal (68)
  • Limba română (3)
  • Muzică (34)
  • Personal (47)
  • Plimbări (30)
  • Programare (6)
  • Știri (4)

Tags

acasă (15) amintiri (16) am scris asta (3) animale (2) biblice (16) Bihor (17) biserică (3) creștine (68) desen (6) Docker (2) docs (20) Duldy & Țâcă (5) fotografie (43) funny (22) git (2) GitHub (2) gânduri (64) interesant (2) istorie (7) jurnal (98) Krita (5) limba română (2) momente (80) muzică (34) muzică preluată (28) natură (6) orașele lumii (4) Padiș (11) personal (77) plimbare (24) plone (12) poezii (2) povești (4) programare (5) recunoștință (2) România (26) schoolism (2) sketchbook (5) solutions (11) Stâna de Vale (2) terorism (1) versuri (2) video (2) Volto (3) web development (10)

RSS Feed Subscribe
© 2026 Jurnal | Powered by Minimalist Blog WordPress Theme