bugcoregood first issue
説明
Datasets cannot currently have a pk field:
import fiftyone as fo
sample = fo.Sample(filepath="image.jpg", pk=123)
dataset = fo.Dataset()
dataset.add_sample(sample)
dataset.set_values("foo", ["bar"])
# TypeError: id must be an instance of (bytes, str, ObjectId), not <class 'int'>
I believe pk should be a reserved keyword, IE these should be updated to raise errors:
sample = fo.Sample(filepath="image.jpg")
sample["pk"] # ValueError: 'pk' is a reserved keyword
sample = fo.Sample(filepath="image.jpg", pk=123) # ValueError: 'pk' is a reserved keyword
There may be other such keywords that need similar handling, btw.
I haven't investigated the source of the error. It might be possible to instead patch things so that pk is allowable.