voxel51/fiftyone

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

Ouverte

#2 738 ouverte le 7 mars 2023

 (4 commentaires) (0 réaction) (0 personne assignée)Python (400 forks)batch import
bugcoregood first issue

Métriques du dépôt

Stars
 (4 021 étoiles)
Métriques de merge PR
 (Merge moyen 3j 11h) (161 PRs mergées en 30 j)

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

Guide contributeur