voxel51/fiftyone

[BUG] ReferenceError: weakly-referenced object no longer exists

Aberta

#2.738 aberto em 7 de mar. de 2023

 (4 comentários) (0 reação) (0 responsável)Python (400 forks)batch import
bugcoregood first issue

Métricas do repositório

Stars
 (4.021 estrelas)
Métricas de merge de PR
 (Mesclagem média 3d 11h) (161 fundiu PRs em 30d)

Description

Here's a perplexing mongoengine-related error:

import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")

# this fails
dataset.first()["tags"].append("tag")

# but this works
sample = dataset.first()
sample["tags"].append("tag")
ReferenceError                            Traceback (most recent call last)
<ipython-input-2-846545a97f03> in <module>
----> 1 dataset.first()['tags'].append('tag')

~/dev/env/fo/lib/python3.9/site-packages/mongoengine/base/datastructures.py in wrapper(self, *args, **kwargs)
     21         # Can't use super() in the decorator.
     22         result = parent_method(self, *args, **kwargs)
---> 23         self._mark_as_changed()
     24         return result
     25 

~/dev/env/fo/lib/python3.9/site-packages/mongoengine/base/datastructures.py in _mark_as_changed(self, key)
    179 
    180     def _mark_as_changed(self, key=None):
--> 181         if hasattr(self._instance, "_mark_as_changed"):
    182             if key is not None:
    183                 self._instance._mark_as_changed(f"{self._name}.{key % len(self)}")

ReferenceError: weakly-referenced object no longer exists

Guia do colaborador