fiftyone.core.odm¶
Module contents¶
ODM package declaration.
Functions:
|
Executes one or more aggregations on a collection. |
Retrieves the database config. |
|
|
Establishes the database connection. |
Returns a database client. |
|
Returns a connection to the database. |
|
|
Returns an async database client. |
|
Returns an async connection to the database. |
Drops the database. |
|
Syncs all pending database writes to disk. |
|
Returns the list of available FiftyOne datasets. |
|
|
Ensures that the saved view documents in the |
|
Ensures that the annotation runs in the |
|
Ensures that the brain method runs in the |
|
Ensures that the evaluation runs in the |
|
Ensures that the runs in the |
|
Deletes the dataset with the given name. |
|
Deletes the saved view with the given name from the dataset with the given name. |
|
Deletes all saved views from the dataset with the given name. |
|
Deletes the evaluation run with the given key from the dataset with the given name. |
|
Deletes all evaluations from the dataset with the given name. |
|
Deletes the brain method run with the given key from the dataset with the given name. |
|
Deletes all brain method runs from the dataset with the given name. |
|
Deletes the run with the given key from the dataset with the given name. |
|
Deletes all runs from the dataset with the given name. |
|
Drops specified collection from the database. |
|
Drops all orphan collections from the database. |
|
Drops all orphan saved views from the database. |
|
Drops all orphan runs from the database. |
Returns a list of all collection names in the database. |
|
|
Sets stats about the collection. |
|
Streams the contents of the collection to stdout. |
|
|
|
Exports the document to disk in JSON format. |
|
Exports the collection to disk in JSON format. |
|
Imports a document from JSON on disk. |
|
Imports the collection from JSON on disk. |
|
Inserts documents into a collection. |
|
Performs a batch of write operations on a collection. |
|
Gets the default fields present on all instances of the given |
|
Serializes the given value. |
|
Deserializes the given value. |
|
Verifies that the given field name is valid. |
|
Creates the field defined by the given specification. |
|
Creates the field for the given value. |
|
Constructs the field keyword arguments dictionary for the given field. |
|
Infers the field keyword arguments dictionary for a field that can hold the given value. |
|
Validates that the types of the given fields match. |
Creates a default top-level instance of |
Classes:
|
Description of a sample field. |
|
Description of a color scheme in the App. |
|
Description of a keypoint skeleton. |
|
Dataset-specific settings that customize how a dataset is visualized in the App. |
|
Backing document for datasets. |
|
Description of a sidebar group in the App. |
|
Base class for documents that are stored in a MongoDB collection. |
Mixin for documents that can be serialized in BSON or JSON format. |
|
Base class for documents that are embedded within other documents and therefore are not stored in their own collection in the database. |
|
|
Base class for dynamic documents that are embedded within other documents and therefore aren’t stored in their own collection in the database. |
|
Base class for documents that are embedded within other documents and therefore are not stored in their own collection in the database. |
|
|
|
|
|
Backing document for dataset runs. |
|
Base class for sample documents backing samples in datasets. |
|
Backing document for samples that have not been added to a dataset. |
|
Backing document for saved views. |
|
Document for a panel (tab) within a Workspace in the App. |
|
Document for configuration of a Space in the App. |
|
Document for configuration of a saved workspace in the App. |
-
fiftyone.core.odm.
aggregate
(collection, pipelines)¶ Executes one or more aggregations on a collection.
Multiple aggregations are executed using multiple threads, and their results are returned as lists rather than cursors.
- Parameters
collection – a
pymongo.collection.Collection
ormotor.motor_asyncio.AsyncIOMotorCollection
pipelines – a MongoDB aggregation pipeline or a list of pipelines
- Returns
If a single pipeline is provided, a
pymongo.command_cursor.CommandCursor
ormotor.motor_asyncio.AsyncIOMotorCommandCursor
is returnedIf multiple pipelines are provided, each cursor is extracted into a list and the list of lists is returned
-
fiftyone.core.odm.
get_db_config
()¶ Retrieves the database config.
- Returns
a
DatabaseConfigDocument
-
fiftyone.core.odm.
establish_db_conn
(config)¶ Establishes the database connection.
If
fiftyone.config.database_uri
is defined, then we connect to that URI. Otherwise, afiftyone.core.service.DatabaseService
is created.- Parameters
config – a
fiftyone.core.config.FiftyOneConfig
- Raises
ConnectionError – if a connection to
mongod
could not be establishedFiftyOneConfigError – if
fiftyone.config.database_uri
is not defined andmongod
could not be foundServiceExecutableNotFound – if
fiftyone.core.service.DatabaseService
startup was attempted, butmongod
was not found infiftyone.db.bin
RuntimeError – if the
mongod
found does not meet FiftyOne’s requirements, or validation could not occur
-
fiftyone.core.odm.
get_db_client
()¶ Returns a database client.
- Returns
a
pymongo.mongo_client.MongoClient
-
fiftyone.core.odm.
get_db_conn
()¶ Returns a connection to the database.
- Returns
a
pymongo.database.Database
-
fiftyone.core.odm.
get_async_db_client
(use_global=False)¶ Returns an async database client.
- Parameters
use_global – whether to use the global client singleton
- Returns
a
motor.motor_asyncio.AsyncIOMotorClient
-
fiftyone.core.odm.
get_async_db_conn
(use_global=False)¶ Returns an async connection to the database.
- Returns
a
motor.motor_asyncio.AsyncIOMotorDatabase
-
fiftyone.core.odm.
drop_database
()¶ Drops the database.
-
fiftyone.core.odm.
sync_database
()¶ Syncs all pending database writes to disk.
-
fiftyone.core.odm.
list_datasets
()¶ Returns the list of available FiftyOne datasets.
This is a low-level implementation of dataset listing that does not call
fiftyone.core.dataset.list_datasets()
, which is helpful if a database may be corrupted.- Returns
a list of
Dataset
names
-
fiftyone.core.odm.
patch_saved_views
(dataset_name, dry_run=False)¶ Ensures that the saved view documents in the
views
collection for the given dataset exactly match the IDs in its dataset document.- Parameters
dataset_name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
patch_annotation_runs
(dataset_name, dry_run=False)¶ Ensures that the annotation runs in the
runs
collection for the given dataset exactly match the values in its dataset document.- Parameters
dataset_name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
patch_brain_runs
(dataset_name, dry_run=False)¶ Ensures that the brain method runs in the
runs
collection for the given dataset exactly match the values in its dataset document.- Parameters
dataset_name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
patch_evaluations
(dataset_name, dry_run=False)¶ Ensures that the evaluation runs in the
runs
collection for the given dataset exactly match the values in its dataset document.- Parameters
dataset_name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
patch_runs
(dataset_name, dry_run=False)¶ Ensures that the runs in the
runs
collection for the given dataset exactly match the values in its dataset document.- Parameters
dataset_name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_dataset
(name, dry_run=False)¶ Deletes the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.- Parameters
name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_saved_view
(dataset_name, view_name, dry_run=False)¶ Deletes the saved view with the given name from the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
orfiftyone.core.collections.SampleCollection.load_saved_view()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.- Parameters
dataset_name – the name of the dataset
view_name – the name of the saved view
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_saved_views
(dataset_name, dry_run=False)¶ Deletes all saved views from the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
orfiftyone.core.collections.SampleCollection.load_saved_view()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.- Parameters
dataset_name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_evaluation
(name, eval_key, dry_run=False)¶ Deletes the evaluation run with the given key from the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
orfiftyone.core.collections.SampleCollection.delete_evaluation()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.Note that, as this method does not load
fiftyone.core.runs.Run
instances, it does not callfiftyone.core.runs.Run.cleanup()
.- Parameters
name – the name of the dataset
eval_key – the evaluation key
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_evaluations
(name, dry_run=False)¶ Deletes all evaluations from the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
orfiftyone.core.collections.SampleCollection.delete_evaluations()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.Note that, as this method does not load
fiftyone.core.runs.Run
instances, it does not callfiftyone.core.runs.Run.cleanup()
.- Parameters
name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_brain_run
(name, brain_key, dry_run=False)¶ Deletes the brain method run with the given key from the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
orfiftyone.core.collections.SampleCollection.delete_brain_run()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.Note that, as this method does not load
fiftyone.core.runs.Run
instances, it does not callfiftyone.core.runs.Run.cleanup()
.- Parameters
name – the name of the dataset
brain_key – the brain key
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_brain_runs
(name, dry_run=False)¶ Deletes all brain method runs from the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
orfiftyone.core.collections.SampleCollection.delete_brain_runs()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.Note that, as this method does not load
fiftyone.core.runs.Run
instances, it does not callfiftyone.core.runs.Run.cleanup()
.- Parameters
name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_run
(name, run_key, dry_run=False)¶ Deletes the run with the given key from the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
orfiftyone.core.collections.SampleCollection.delete_run()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.Note that, as this method does not load
fiftyone.core.runs.Run
instances, it does not callfiftyone.core.runs.Run.cleanup()
.- Parameters
name – the name of the dataset
run_key – the run key
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
delete_runs
(name, dry_run=False)¶ Deletes all runs from the dataset with the given name.
This is a low-level implementation of deletion that does not call
fiftyone.core.dataset.load_dataset()
orfiftyone.core.collections.SampleCollection.delete_runs()
, which is helpful if a dataset’s backing document or collections are corrupted and cannot be loaded via the normal pathways.Note that, as this method does not load
fiftyone.core.runs.Run
instances, it does not callfiftyone.core.runs.Run.cleanup()
.- Parameters
name – the name of the dataset
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
drop_collection
(collection_name)¶ Drops specified collection from the database.
- Parameters
collection_name – the collection name
-
fiftyone.core.odm.
drop_orphan_collections
(dry_run=False)¶ Drops all orphan collections from the database.
Orphan collections are collections that are not associated with any known dataset or other collections used by FiftyOne.
- Parameters
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
drop_orphan_saved_views
(dry_run=False)¶ Drops all orphan saved views from the database.
Orphan saved views are saved view documents that are not associated with any known dataset or other collections used by FiftyOne.
- Parameters
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
drop_orphan_runs
(dry_run=False)¶ Drops all orphan runs from the database.
Orphan runs are runs that are not associated with any known dataset or other collections used by FiftyOne.
- Parameters
dry_run (False) – whether to log the actions that would be taken but not perform them
-
fiftyone.core.odm.
list_collections
()¶ Returns a list of all collection names in the database.
- Returns
a list of all collection names
-
fiftyone.core.odm.
get_collection_stats
(collection_name)¶ Sets stats about the collection.
- Parameters
collection_name – the name of the collection
- Returns
a stats dict
-
fiftyone.core.odm.
stream_collection
(collection_name)¶ Streams the contents of the collection to stdout.
- Parameters
collection_name – the name of the collection
-
fiftyone.core.odm.
count_documents
(coll, pipeline)¶
-
fiftyone.core.odm.
export_document
(doc, json_path)¶ Exports the document to disk in JSON format.
- Parameters
doc – a BSON document dict
json_path – the path to write the JSON file
-
fiftyone.core.odm.
export_collection
(docs, json_dir_or_path, key='documents', patt='{idx:06d}-{id}.json', num_docs=None, progress=None)¶ Exports the collection to disk in JSON format.
- Parameters
docs – an iterable containing the documents to export
json_dir_or_path – the path to write a single JSON file containing the entire collection, or a directory in which to write per-document JSON files
key ("documents") – the field name under which to store the documents when
json_path
is a single JSON file("{idx (patt) – 06d}-{id}.json”): a filename pattern to use when
json_path
is a directory. The pattern may containidx
to refer to the index of the document indocs
orid
to refer to the document’s IDnum_docs (None) – the total number of documents. If omitted, this must be computable via
len(docs)
progress (None) – whether to render a progress bar (True/False), use the default value
fiftyone.config.show_progress_bars
(None), or a progress callback function to invoke instead
-
fiftyone.core.odm.
import_document
(json_path)¶ Imports a document from JSON on disk.
- Parameters
json_path – the path to the document
- Returns
a BSON document dict
-
fiftyone.core.odm.
import_collection
(json_dir_or_path, key='documents')¶ Imports the collection from JSON on disk.
- Parameters
json_dir_or_path – the path to a JSON file on disk, or a directory containing per-document JSON files
key ("documents") – the field name under which the documents are stored when
json_path
is a single JSON file
- Returns
a tuple of
an iterable of BSON documents
the number of documents
-
fiftyone.core.odm.
insert_documents
(docs, coll, ordered=False, progress=None, num_docs=None)¶ Inserts documents into a collection.
The
_id
field of the input documents will be populated if it is not already set.- Parameters
docs – an iterable of BSON document dicts
coll – a pymongo collection
ordered (False) – whether the documents must be inserted in order
progress (None) – whether to render a progress bar (True/False), use the default value
fiftyone.config.show_progress_bars
(None), or a progress callback function to invoke insteadnum_docs (None) – the total number of documents. Only used when
progress=True
. If omitted, this will be computed vialen(docs)
, if possible
- Returns
a list of IDs of the inserted documents
-
fiftyone.core.odm.
bulk_write
(ops, coll, ordered=False, progress=False)¶ Performs a batch of write operations on a collection.
- Parameters
ops – a list of pymongo operations
coll – a pymongo collection
ordered (False) – whether the operations must be performed in order
progress (False) – whether to render a progress bar (True/False), use the default value
fiftyone.config.show_progress_bars
(None), or a progress callback function to invoke instead
-
class
fiftyone.core.odm.
SampleFieldDocument
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.embedded_document.EmbeddedDocument
Description of a sample field.
Attributes:
A unicode string field.
A unicode string field.
A unicode string field.
A unicode string field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A unicode string field.
A unicode string field.
A dictionary field that wraps a standard Python dictionary.
A boolean field.
A datetime field.
An ordered tuple of the public fields of this document.
Methods:
to_field
()Creates the
fiftyone.core.fields.Field
specified by this document.from_field
(field)Creates a
SampleFieldDocument
for a field.clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
name
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
ftype
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
embedded_doc_type
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
subfield
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
fields
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
db_field
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
description
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
info
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
read_only
¶ A boolean field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
created_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
to_field
()¶ Creates the
fiftyone.core.fields.Field
specified by this document.- Returns
-
classmethod
from_field
(field)¶ Creates a
SampleFieldDocument
for a field.- Parameters
field – a
fiftyone.core.fields.Field
instance- Returns
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
class
fiftyone.core.odm.
ColorScheme
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.embedded_document.EmbeddedDocument
Description of a color scheme in the App.
Example:
import fiftyone as fo import fiftyone.zoo as foz dataset = foz.load_zoo_dataset("quickstart") # Store a custom color scheme for a dataset dataset.app_config.color_scheme = fo.ColorScheme( color_by="value", color_pool=[ "#ff0000", "#00ff00", "#0000ff", "pink", "yellowgreen", ], fields=[ { "path": "ground_truth", "fieldColor": "#ff00ff", "colorByAttribute": "label", "valueColors": [{"value": "dog", "color": "yellow"}], "maskTargetsColors": [ {"intTarget": 2, "color": "#ff0000"}, {"intTarget": 12, "color": "#99ff00"}, ], } ], label_tags={ "fieldColor": "#00ffff", "valueColors": [ {"value": "correct", "color": "#ff00ff"}, {"value": "mistake", "color": "#00ff00"}, ], }, colorscales=[ { "path": "heatmap1", "list": [ {"value": 0, "color": "rgb(0, 0, 255)"}, {"value": 1, "color": "rgb(0, 255, 255)"}, ], }, { "path": "heatmap2", "name": "hsv", }, ], multicolor_keypoints=False, opacity=0.5, show_skeletons=True, default_mask_targets_colors=[ {"intTarget": 1, "color": "#FEC0AA"}, {"intTarget": 2, "color": "#EC4E20"}, ], default_colorscale={"name": "sunset", "list": None}, ) session = fo.launch_app(dataset)
- Parameters
color_by (None) – whether annotations should be colored by
"field"
,"value"
, or"instance"
color_pool (None) – an optional list of colors to use as a color pool for this dataset
multicolor_keypoints (None) – whether to use multiple colors for keypoints
opacity (None) – transparency of the annotation, between 0 and 1
show_skeletons (None) – whether to show skeletons of keypoints
fields (None) –
an optional list of dicts of per-field custom colors with the following keys:
path
(required): the fully-qualified path to the field you’re customizingfieldColor
(optional): a color to assign to the field in the App sidebarcolorByAttribute
(optional): the attribute to use to assign per-value colors. Only applicable when the field is an embedded documentvalueColors
(optional): a list of dicts specifying colors to use for individual values of this fieldmaskTargetsColors
(optional): a list of dicts specifying index and color for 2D masks in the same format as described below for default mask targets
default_mask_targets_colors (None) –
a list of dicts with the following keys specifying index and color for 2D masks of the dataset. If a field does not have field specific mask targets colors, this list will be used:
intTarget
: an integer target valuecolor
: a color string
Note that the pixel value
0
is a reserved “background” class that is always rendered as invisible in the Appdefault_colorscale (None) –
dataset default colorscale dict with the following keys:
name
(optional): a named plotly colorscale, e.g."hsv"
. See https://plotly.com/python/builtin-colorscaleslist
(optional): a list of dicts of colorscale valuesvalue
: a float number between 0 and 1. A valid list must have have colors defined for 0 and 1color
: an RGB color string
colorscales (None) –
an optional list of dicts of per-field custom colorscales with the following keys:
path
(required): the fully-qualified path to the field you’re customizing. use “dataset” if you are setting the default colorscale for datasetname
(optional): a named colorscale plotly recognizeslist
(optional): a list of dicts of colorscale values with the following keys:value
: a float number between 0 and 1. A valid list must have have colors defined for 0 and 1color
: an RGB color string
label_tags (None) –
an optional dict specifying custom colors for label tags with the following keys:
fieldColor
(optional): a color to assign to all label tagsvalueColors
(optional): a list of dicts
Attributes:
An Object ID field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A unicode string field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A dictionary field that wraps a standard Python dictionary.
A boolean field.
A floating point number field.
A boolean field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A dictionary field that wraps a standard Python dictionary.
An ordered tuple of the public fields of this document.
Methods:
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
id
¶ An Object ID field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
color_pool
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
color_by
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
fields
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
multicolor_keypoints
¶ A boolean field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
opacity
¶ A floating point number field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
show_skeletons
¶ A boolean field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
default_mask_targets_colors
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
colorscales
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
default_colorscale
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
class
fiftyone.core.odm.
KeypointSkeleton
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.embedded_document.EmbeddedDocument
Description of a keypoint skeleton.
Keypoint skeletons can be associated with
fiftyone.core.labels.Keypoint
orfiftyone.core.labels.Keypoints
fields whosepoints
attributes all contain a fixed number of semantically ordered points.The
edges
argument contains lists of integer indexes that define the connectivity of the points in the skeleton, and the optionallabels
argument defines the label strings for each node in the skeleton.For example, the skeleton below is defined by edges between the following nodes:
left hand <-> left shoulder <-> right shoulder <-> right hand left eye <-> right eye <-> mouth
Example:
import fiftyone as fo # A skeleton for an object made of 7 points skeleton = fo.KeypointSkeleton( labels=[ "left hand" "left shoulder", "right shoulder", "right hand", "left eye", "right eye", "mouth", ], edges=[[0, 1, 2, 3], [4, 5, 6]], )
- Parameters
labels (None) – an optional list of label strings for each node
edges – a list of lists of integer indexes defining the connectivity between nodes
Attributes:
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.An ordered tuple of the public fields of this document.
Methods:
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
labels
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
edges
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
class
fiftyone.core.odm.
DatasetAppConfig
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.embedded_document.EmbeddedDocument
Dataset-specific settings that customize how a dataset is visualized in the App.
- Parameters
color_scheme (None) – an optional
ColorScheme
for the datasetdisable_frame_filtering (False) – whether to disable frame filtering for video datasets in the App’s grid view
grid_media_field ("filepath") – the default sample field from which to serve media in the App’s grid view media_fallback (False): whether to fall back to the default media field (
"filepath"
) when the alternate media field value for a sample is not definedmedia_fields (["filepath"]) – the list of sample fields that contain media and should be available to choose from the App’s settings menus
modal_media_field ("filepath") – the default sample field from which to serve media in the App’s modal view
plugins ({}) –
an optional dict mapping plugin names to plugin configuration dicts. Builtin plugins include:
"map"
: See the map plugin docs for supported options"point-cloud"
: See the 3D visualizer docs for supported options
sidebar_groups (None) – an optional list of
SidebarGroupDocument
describing sidebar groups to use in the Appsidebar_mode (None) – an optional default mode for the App sidebar. Supported values are
("fast", "all", "best", "disabled")
Attributes:
A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.A boolean field.
A unicode string field.
A boolean field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A unicode string field.
A dictionary field that wraps a standard Python dictionary.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A unicode string field.
An ordered tuple of the public fields of this document.
Methods:
default_sidebar_groups
(sample_collection)Generates the default
sidebar_groups
for the given collection.Determines whether this app config differs from the default one.
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
color_scheme
¶ A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.- Parameters
document_type – the
fiftyone.core.odm.BaseEmbeddedDocument
type stored in this fielddescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
disable_frame_filtering
¶ A boolean field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
grid_media_field
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
media_fallback
¶ A boolean field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
media_fields
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
modal_media_field
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
plugins
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
Generates the default
sidebar_groups
for the given collection.Examples:
import fiftyone as fo import fiftyone.zoo as foz dataset = foz.load_zoo_dataset("quickstart") sidebar_groups = fo.DatasetAppConfig.default_sidebar_groups(dataset) dataset.app_config.sidebar_groups = sidebar_groups print(dataset.app_config)
- Parameters
sample_collection – a
fiftyone.core.collections.SampleCollection
- Returns
a list of
SidebarGroupDocument
instances
-
is_custom
()¶ Determines whether this app config differs from the default one.
- Returns
True/False
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
class
fiftyone.core.odm.
DatasetDocument
(**kwargs)¶ Bases:
fiftyone.core.odm.document.Document
Backing document for datasets.
Attributes:
A unicode string field.
A unicode string field.
A unicode string field.
A datetime field.
A datetime field.
A datetime field.
A unicode string field.
A unicode string field.
A boolean field.
A unicode string field.
A unicode string field.
A dictionary field that wraps a standard Python dictionary.
A unicode string field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A unicode string field.
A dictionary field that wraps a standard Python dictionary.
A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.A dictionary field that wraps a standard Python dictionary.
A
ListField
that stores class label strings.A dictionary field that wraps a standard Python dictionary.
A
DictField
that stores mapping between integer keys or RGB string hex keys and string targets.A dictionary field that wraps a standard Python dictionary.
A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.A field that stores a list of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
objects.A field that stores a list of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
objects.A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A dictionary field that wraps a standard Python dictionary.
A dictionary field that wraps a standard Python dictionary.
A dictionary field that wraps a standard Python dictionary.
A dictionary field that wraps a standard Python dictionary.
An ordered tuple of the public fields of this document.
A field wrapper around MongoDB’s ObjectIds.
Whether the document has been inserted into the database.
Get the primary key.
Methods:
get_runs
()cascade_save
(**kwargs)Recursively save any references and generic references on the document.
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
Compares the indexes defined in MongoEngine with the ones existing in the database.
copy
([new_id])Returns a deep copy of the document.
create_index
(keys[, background])Creates the given indexes if required.
delete
([signal_kwargs])Delete the
Document
from the database.Drops the entire collection associated with this
Document
type from the database.ensure_index
(key_or_list[, background])Ensure that the given indexes are in place.
Checks the document meta data and ensures all the indexes exist.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.Lists all indexes that should be created for the Document collection.
merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
modify
([query])Perform an atomic update of the document in the database and reload the document object using updated version.
register_delete_rule
(document_cls, …)This method registers the delete rules to apply when removing this object.
reload
(*fields, **kwargs)Reloads the document from the database.
save
([upsert, validate, safe])Saves the document to the database.
select_related
([max_depth])Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.set_field
(field_name, value[, create])Sets the value of a field of the document.
switch_collection
(collection_name[, …])Temporarily switch the collection for a document instance.
switch_db
(db_alias[, keep_created])Temporarily switch the database for a document instance.
to_dbref
()Returns an instance of
DBRef
useful in __raw__ queries.to_dict
(*args[, no_dereference])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
update
(**kwargs)Performs an update on the
Document
A convenience wrapper toupdate()
.validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Miscellaneous:
Classes:
alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
-
name
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
slug
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
version
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
created_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
last_modified_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
last_loaded_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
sample_collection_name
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
frame_collection_name
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
persistent
¶ A boolean field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
media_type
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
group_field
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
group_media_types
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
default_group_slice
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
description
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
info
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
app_config
¶ A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.- Parameters
document_type – the
fiftyone.core.odm.BaseEmbeddedDocument
type stored in this fielddescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
classes
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
default_classes
¶ A
ListField
that stores class label strings.If this field is not set, its default value is
[]
.- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
mask_targets
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
default_mask_targets
¶ A
DictField
that stores mapping between integer keys or RGB string hex keys and string targets.If this field is not set, its default value is
{}
.- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
skeletons
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
default_skeleton
¶ A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.- Parameters
document_type – the
fiftyone.core.odm.BaseEmbeddedDocument
type stored in this fielddescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
sample_fields
¶ A field that stores a list of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
objects.- Parameters
document_type – the
fiftyone.core.odm.BaseEmbeddedDocument
type stored in this fielddescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
frame_fields
¶ A field that stores a list of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
objects.- Parameters
document_type – the
fiftyone.core.odm.BaseEmbeddedDocument
type stored in this fielddescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
saved_views
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
workspaces
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
annotation_runs
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
brain_methods
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
evaluations
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
runs
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
get_saved_views
()¶
-
get_workspaces
()¶
-
get_annotation_runs
()¶
-
get_brain_methods
()¶
-
get_evaluations
()¶
-
get_runs
()¶
-
exception
DoesNotExist
¶ Bases:
mongoengine.errors.DoesNotExist
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
MultipleObjectsReturned
¶ Bases:
mongoengine.errors.MultipleObjectsReturned
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
STRICT
= False¶
-
cascade_save
(**kwargs)¶ Recursively save any references and generic references on the document.
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
classmethod
compare_indexes
()¶ Compares the indexes defined in MongoEngine with the ones existing in the database. Returns any missing/extra indexes.
-
copy
(new_id=False)¶ Returns a deep copy of the document.
- Parameters
new_id (False) – whether to generate a new ID for the copied document. By default, the ID is left as
None
and will be automatically populated when the document is added to the database
-
copy_with_new_id
()¶
-
classmethod
create_index
(keys, background=False, **kwargs)¶ Creates the given indexes if required.
- Parameters
keys – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
delete
(signal_kwargs=None, **write_concern)¶ Delete the
Document
from the database. This will only take effect if the document has been previously saved.- Parameters
signal_kwargs – (optional) kwargs dictionary to be passed to the signal calls.
write_concern – Extra keyword arguments are passed down which will be used as options for the resultant
getLastError
command. For example,save(..., w: 2, fsync: True)
will wait until at least two servers have recorded the write and will force an fsync on the primary server.
-
classmethod
drop_collection
()¶ Drops the entire collection associated with this
Document
type from the database.Raises
OperationError
if the document has no collection set (i.g. if it is abstract)
-
classmethod
ensure_index
(key_or_list, background=False, **kwargs)¶ Ensure that the given indexes are in place. Deprecated in favour of create_index.
- Parameters
key_or_list – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
classmethod
ensure_indexes
()¶ Checks the document meta data and ensures all the indexes exist.
Global defaults can be set in the meta - see Defining documents
By default, this will get called automatically upon first interaction with the Document collection (query, save, etc) so unless you disabled auto_create_index, you shouldn’t have to call this manually.
Note
You can disable automatic index creation by setting auto_create_index to False in the documents meta data
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
id
¶ A field wrapper around MongoDB’s ObjectIds.
-
property
in_db
¶ Whether the document has been inserted into the database.
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
classmethod
list_indexes
()¶ Lists all indexes that should be created for the Document collection. It includes all the indexes from super- and sub-classes.
Note that it will only return the indexes’ fields, not the indexes’ options
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
modify
(query=None, **update)¶ Perform an atomic update of the document in the database and reload the document object using updated version.
Returns True if the document has been updated or False if the document in the database doesn’t match the query.
Note
All unsaved changes that have been made to the document are rejected if the method returns True.
- Parameters
query – the update will be performed only if the document in the database matches the query
update – Django-style update keyword arguments
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
Methods:get_auto_id_names
(new_class)Find a name for the automatic ID field for the given new class.
mro
()Return a type’s method resolution order.
-
property
pk
¶ Get the primary key.
-
classmethod
register_delete_rule
(document_cls, field_name, rule)¶ This method registers the delete rules to apply when removing this object.
-
reload
(*fields, **kwargs)¶ Reloads the document from the database.
- Parameters
*fields – an optional args list of specific fields to reload
-
save
(upsert=False, validate=True, safe=False, **kwargs)¶ Saves the document to the database.
If the document already exists, it will be updated, otherwise it will be created.
- Parameters
upsert (False) – whether to insert the document if it has an
id
populated but no document with that ID exists in the databasevalidate (True) – whether to validate the document
safe (False) – whether to
reload()
the document before raising any errors
- Returns
self
Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
switch_collection
(collection_name, keep_created=True)¶ Temporarily switch the collection for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_collection('old-users') user.save()
- Parameters
collection_name (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching collection, else is reset to True
See also
Use
switch_db
if you need to read from another database
-
switch_db
(db_alias, keep_created=True)¶ Temporarily switch the database for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_db('archive-db') user.save()
- Parameters
db_alias (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching db, else is reset to True
See also
Use
switch_collection
if you need to read from another collection
-
to_dict
(*args, no_dereference=False, **kwargs)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
update
(**kwargs)¶ Performs an update on the
Document
A convenience wrapper toupdate()
.Raises
OperationError
if called on an object that has not yet been saved.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
class
fiftyone.core.odm.
SidebarGroupDocument
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.embedded_document.EmbeddedDocument
Description of a sidebar group in the App.
- Parameters
name – the name of the sidebar group
paths ([]) – the list of
field
orembedded.field.name
paths in the groupexpanded (None) – whether this group should be expanded by default
Attributes:
A unicode string field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A boolean field.
An ordered tuple of the public fields of this document.
Methods:
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
name
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
paths
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
expanded
¶ A boolean field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
class
fiftyone.core.odm.
Document
(**kwargs)¶ Bases:
fiftyone.core.odm.document.BaseDocument
,mongoengine.document.Document
Base class for documents that are stored in a MongoDB collection.
The ID of a document is automatically populated when it is added to the database, and the ID of a document is
None
if it has not been added to the database.-
id
¶ the ID of the document, or
None
if it has not been added to the database
Methods:
copy
([new_id])Returns a deep copy of the document.
reload
(*fields, **kwargs)Reloads the document from the database.
save
([upsert, validate, safe])Saves the document to the database.
cascade_save
(**kwargs)Recursively save any references and generic references on the document.
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
Compares the indexes defined in MongoEngine with the ones existing in the database.
create_index
(keys[, background])Creates the given indexes if required.
delete
([signal_kwargs])Delete the
Document
from the database.Drops the entire collection associated with this
Document
type from the database.ensure_index
(key_or_list[, background])Ensure that the given indexes are in place.
Checks the document meta data and ensures all the indexes exist.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.Lists all indexes that should be created for the Document collection.
merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
modify
([query])Perform an atomic update of the document in the database and reload the document object using updated version.
register_delete_rule
(document_cls, …)This method registers the delete rules to apply when removing this object.
select_related
([max_depth])Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.set_field
(field_name, value[, create])Sets the value of a field of the document.
switch_collection
(collection_name[, …])Temporarily switch the collection for a document instance.
switch_db
(db_alias[, keep_created])Temporarily switch the database for a document instance.
to_dbref
()Returns an instance of
DBRef
useful in __raw__ queries.to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
update
(**kwargs)Performs an update on the
Document
A convenience wrapper toupdate()
.validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Attributes:
An ordered tuple of the public fields of this document.
Whether the document has been inserted into the database.
Get the primary key.
Classes:
alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
-
copy
(new_id=False)¶ Returns a deep copy of the document.
- Parameters
new_id (False) – whether to generate a new ID for the copied document. By default, the ID is left as
None
and will be automatically populated when the document is added to the database
-
reload
(*fields, **kwargs)¶ Reloads the document from the database.
- Parameters
*fields – an optional args list of specific fields to reload
-
save
(upsert=False, validate=True, safe=False, **kwargs)¶ Saves the document to the database.
If the document already exists, it will be updated, otherwise it will be created.
- Parameters
upsert (False) – whether to insert the document if it has an
id
populated but no document with that ID exists in the databasevalidate (True) – whether to validate the document
safe (False) – whether to
reload()
the document before raising any errors
- Returns
self
-
copy_with_new_id
()¶
-
STRICT
= False¶
-
cascade_save
(**kwargs)¶ Recursively save any references and generic references on the document.
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
classmethod
compare_indexes
()¶ Compares the indexes defined in MongoEngine with the ones existing in the database. Returns any missing/extra indexes.
-
classmethod
create_index
(keys, background=False, **kwargs)¶ Creates the given indexes if required.
- Parameters
keys – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
delete
(signal_kwargs=None, **write_concern)¶ Delete the
Document
from the database. This will only take effect if the document has been previously saved.- Parameters
signal_kwargs – (optional) kwargs dictionary to be passed to the signal calls.
write_concern – Extra keyword arguments are passed down which will be used as options for the resultant
getLastError
command. For example,save(..., w: 2, fsync: True)
will wait until at least two servers have recorded the write and will force an fsync on the primary server.
-
classmethod
drop_collection
()¶ Drops the entire collection associated with this
Document
type from the database.Raises
OperationError
if the document has no collection set (i.g. if it is abstract)
-
classmethod
ensure_index
(key_or_list, background=False, **kwargs)¶ Ensure that the given indexes are in place. Deprecated in favour of create_index.
- Parameters
key_or_list – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
classmethod
ensure_indexes
()¶ Checks the document meta data and ensures all the indexes exist.
Global defaults can be set in the meta - see Defining documents
By default, this will get called automatically upon first interaction with the Document collection (query, save, etc) so unless you disabled auto_create_index, you shouldn’t have to call this manually.
Note
You can disable automatic index creation by setting auto_create_index to False in the documents meta data
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
property
in_db
¶ Whether the document has been inserted into the database.
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
classmethod
list_indexes
()¶ Lists all indexes that should be created for the Document collection. It includes all the indexes from super- and sub-classes.
Note that it will only return the indexes’ fields, not the indexes’ options
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
modify
(query=None, **update)¶ Perform an atomic update of the document in the database and reload the document object using updated version.
Returns True if the document has been updated or False if the document in the database doesn’t match the query.
Note
All unsaved changes that have been made to the document are rejected if the method returns True.
- Parameters
query – the update will be performed only if the document in the database matches the query
update – Django-style update keyword arguments
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
Methods:get_auto_id_names
(new_class)Find a name for the automatic ID field for the given new class.
mro
()Return a type’s method resolution order.
-
property
pk
¶ Get the primary key.
-
classmethod
register_delete_rule
(document_cls, field_name, rule)¶ This method registers the delete rules to apply when removing this object.
Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
switch_collection
(collection_name, keep_created=True)¶ Temporarily switch the collection for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_collection('old-users') user.save()
- Parameters
collection_name (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching collection, else is reset to True
See also
Use
switch_db
if you need to read from another database
-
switch_db
(db_alias, keep_created=True)¶ Temporarily switch the database for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_db('archive-db') user.save()
- Parameters
db_alias (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching db, else is reset to True
See also
Use
switch_collection
if you need to read from another collection
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
update
(**kwargs)¶ Performs an update on the
Document
A convenience wrapper toupdate()
.Raises
OperationError
if called on an object that has not yet been saved.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
class
fiftyone.core.odm.
SerializableDocument
¶ Bases:
object
Mixin for documents that can be serialized in BSON or JSON format.
Attributes:
An ordered tuple of the public fields of this document.
Methods:
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
has_field
(field_name)Determines whether the document has a field of the given name.
get_field
(field_name)Gets the field of the document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
clear_field
(field_name)Clears the field from the document.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.copy
()Returns a deep copy of the document.
merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
from_json
(s)Loads the document from a JSON string.
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
property
-
class
fiftyone.core.odm.
BaseEmbeddedDocument
¶ Bases:
fiftyone.core.odm.document.MongoEngineBaseDocument
Base class for documents that are embedded within other documents and therefore are not stored in their own collection in the database.
Methods:
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
Attributes:
An ordered tuple of the public fields of this document.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
-
class
fiftyone.core.odm.
DynamicEmbeddedDocument
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.document.DynamicMixin
,fiftyone.core.odm.embedded_document.BaseEmbeddedDocument
,mongoengine.document.DynamicEmbeddedDocument
Base class for dynamic documents that are embedded within other documents and therefore aren’t stored in their own collection in the database.
Dynamic documents can have arbitrary fields added to them.
Attributes:
An ordered tuple of the public fields of this document.
Methods:
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
class
fiftyone.core.odm.
EmbeddedDocument
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.embedded_document.BaseEmbeddedDocument
,mongoengine.document.EmbeddedDocument
Base class for documents that are embedded within other documents and therefore are not stored in their own collection in the database.
Attributes:
An ordered tuple of the public fields of this document.
Methods:
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
class
fiftyone.core.odm.
DatasetFrameDocument
(**kwargs)¶ Bases:
fiftyone.core.odm.mixins.DatasetMixin
,fiftyone.core.odm.document.Document
Attributes:
An Object ID field.
A video frame number field.
A datetime field.
A datetime field.
An ordered tuple of the public fields of this document.
Whether the document has been inserted into the database.
Get the primary key.
Methods:
add_field
(path, ftype[, embedded_doc_type, …])Adds a new field or embedded field to the document, if necessary.
add_implied_field
(path, value[, …])Adds the field or embedded field to the document, if necessary, inferring the field type from the provided value.
cascade_save
(**kwargs)Recursively save any references and generic references on the document.
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
Compares the indexes defined in MongoEngine with the ones existing in the database.
copy
([new_id])Returns a deep copy of the document.
create_index
(keys[, background])Creates the given indexes if required.
delete
([signal_kwargs])Delete the
Document
from the database.Drops the entire collection associated with this
Document
type from the database.ensure_index
(key_or_list[, background])Ensure that the given indexes are in place.
Checks the document meta data and ensures all the indexes exist.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
get_field_schema
([ftype, embedded_doc_type, …])Returns a schema dictionary describing the fields of this document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.Lists all indexes that should be created for the Document collection.
merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
merge_field_schema
(schema[, expand_schema, …])Merges the field schema into this document.
modify
([query])Perform an atomic update of the document in the database and reload the document object using updated version.
register_delete_rule
(document_cls, …)This method registers the delete rules to apply when removing this object.
reload
(*fields, **kwargs)Reloads the document from the database.
save
([upsert, validate, safe])Saves the document to the database.
select_related
([max_depth])Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.set_field
(field_name, value[, create, …])Sets the value of a field of the document.
switch_collection
(collection_name[, …])Temporarily switch the collection for a document instance.
switch_db
(db_alias[, keep_created])Temporarily switch the database for a document instance.
to_dbref
()Returns an instance of
DBRef
useful in __raw__ queries.to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
update
(**kwargs)Performs an update on the
Document
A convenience wrapper toupdate()
.validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
-
id
¶ An Object ID field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
frame_number
¶ A video frame number field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
created_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
last_modified_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
STRICT
= False¶
-
classmethod
add_field
(path, ftype, embedded_doc_type=None, subfield=None, fields=None, description=None, info=None, read_only=False, expand_schema=True, recursive=True, validate=True, **kwargs)¶ Adds a new field or embedded field to the document, if necessary.
- Parameters
path – the field name or
embedded.field.name
ftype – the field type to create. Must be a subclass of
fiftyone.core.fields.Field
embedded_doc_type (None) – the
fiftyone.core.odm.BaseEmbeddedDocument
type of the field. Only applicable whenftype
isfiftyone.core.fields.EmbeddedDocumentField
subfield (None) – the
fiftyone.core.fields.Field
type of the contained field. Only applicable whenftype
isfiftyone.core.fields.ListField
orfiftyone.core.fields.DictField
fields (None) – a list of
fiftyone.core.fields.Field
instances defining embedded document attributes. Only applicable whenftype
isfiftyone.core.fields.EmbeddedDocumentField
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field should be read-only
expand_schema (True) – whether to add new fields to the schema (True) or simply validate that the field already exists with a consistent type (False)
recursive (True) – whether to recursively add embedded document fields
validate (True) – whether to validate the field against an existing field at the same path
- Returns
True/False whether one or more fields or embedded fields were added to the document or its children
- Raises
ValueError – if a field in the schema is not compliant with an existing field of the same name
-
classmethod
add_implied_field
(path, value, expand_schema=True, dynamic=False, recursive=True, validate=True)¶ Adds the field or embedded field to the document, if necessary, inferring the field type from the provided value.
- Parameters
path – the field name or
embedded.field.name
value – the field value
expand_schema (True) – whether to add new fields to the schema (True) or simply validate that the field already exists with a consistent type (False)
dynamic (False) – whether to declare dynamic embedded document fields
recursive (True) – whether to recursively add embedded document fields
validate (True) – whether to validate the field against an existing field at the same path
- Returns
True/False whether one or more fields or embedded fields were added to the document or its children
- Raises
ValueError – if a field in the schema is not compliant with an existing field of the same name
-
cascade_save
(**kwargs)¶ Recursively save any references and generic references on the document.
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
property
collection_name
¶
-
classmethod
compare_indexes
()¶ Compares the indexes defined in MongoEngine with the ones existing in the database. Returns any missing/extra indexes.
-
copy
(new_id=False)¶ Returns a deep copy of the document.
- Parameters
new_id (False) – whether to generate a new ID for the copied document. By default, the ID is left as
None
and will be automatically populated when the document is added to the database
-
copy_with_new_id
()¶
-
classmethod
create_index
(keys, background=False, **kwargs)¶ Creates the given indexes if required.
- Parameters
keys – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
delete
(signal_kwargs=None, **write_concern)¶ Delete the
Document
from the database. This will only take effect if the document has been previously saved.- Parameters
signal_kwargs – (optional) kwargs dictionary to be passed to the signal calls.
write_concern – Extra keyword arguments are passed down which will be used as options for the resultant
getLastError
command. For example,save(..., w: 2, fsync: True)
will wait until at least two servers have recorded the write and will force an fsync on the primary server.
-
classmethod
drop_collection
()¶ Drops the entire collection associated with this
Document
type from the database.Raises
OperationError
if the document has no collection set (i.g. if it is abstract)
-
classmethod
ensure_index
(key_or_list, background=False, **kwargs)¶ Ensure that the given indexes are in place. Deprecated in favour of create_index.
- Parameters
key_or_list – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
classmethod
ensure_indexes
()¶ Checks the document meta data and ensures all the indexes exist.
Global defaults can be set in the meta - see Defining documents
By default, this will get called automatically upon first interaction with the Document collection (query, save, etc) so unless you disabled auto_create_index, you shouldn’t have to call this manually.
Note
You can disable automatic index creation by setting auto_create_index to False in the documents meta data
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
classmethod
get_field_schema
(ftype=None, embedded_doc_type=None, read_only=None, info_keys=None, created_after=None, include_private=False, flat=False, mode=None)¶ Returns a schema dictionary describing the fields of this document.
If the document belongs to a dataset, the schema will apply to all documents in the collection.
- Parameters
ftype (None) – an optional field type or iterable of field types to which to restrict the returned schema. Must be subclass(es) of
fiftyone.core.fields.Field
embedded_doc_type (None) – an optional embedded document type or iterable of types to which to restrict the returned schema. Must be subclass(es) of
fiftyone.core.odm.BaseEmbeddedDocument
read_only (None) – whether to restrict to (True) or exclude (False) read-only fields. By default, all fields are included
info_keys (None) – an optional key or list of keys that must be in the field’s
info
dictcreated_after (None) – an optional
datetime
specifying a minimum creation dateinclude_private (False) – whether to include fields that start with
_
in the returned schemaflat (False) – whether to return a flattened schema where all embedded document fields are included as top-level keys
mode (None) – whether to apply the above constraints before and/or after flattening the schema. Only applicable when ``flat` is True. Supported values are
("before", "after", "both")
. The default is"after"
- Returns
a dict mapping field names to
fiftyone.core.fields.Field
instances
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
property
in_db
¶ Whether the document has been inserted into the database.
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
classmethod
list_indexes
()¶ Lists all indexes that should be created for the Document collection. It includes all the indexes from super- and sub-classes.
Note that it will only return the indexes’ fields, not the indexes’ options
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
classmethod
merge_field_schema
(schema, expand_schema=True, recursive=True, validate=True, overwrite=False)¶ Merges the field schema into this document.
- Parameters
schema – a dict mapping field names or
embedded.field.names
tofiftyone.core.fields.Field
instancesexpand_schema (True) – whether to add new fields to the schema (True) or simply validate that fields already exist with consistent types (False)
recursive (True) – whether to recursively merge embedded document fields
validate (True) – whether to validate fields against existing fields at the same path
overwrite (False) – whether to overwrite the editable metadata of existing fields
- Returns
True/False whether any new fields were added
- Raises
ValueError – if a field in the schema is not compliant with an existing field of the same name or a new field is found but
expand_schema == False
-
modify
(query=None, **update)¶ Perform an atomic update of the document in the database and reload the document object using updated version.
Returns True if the document has been updated or False if the document in the database doesn’t match the query.
Note
All unsaved changes that have been made to the document are rejected if the method returns True.
- Parameters
query – the update will be performed only if the document in the database matches the query
update – Django-style update keyword arguments
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
Methods:get_auto_id_names
(new_class)Find a name for the automatic ID field for the given new class.
mro
()Return a type’s method resolution order.
-
property
pk
¶ Get the primary key.
-
classmethod
register_delete_rule
(document_cls, field_name, rule)¶ This method registers the delete rules to apply when removing this object.
-
reload
(*fields, **kwargs)¶ Reloads the document from the database.
- Parameters
*fields – an optional args list of specific fields to reload
-
save
(upsert=False, validate=True, safe=False, **kwargs)¶ Saves the document to the database.
If the document already exists, it will be updated, otherwise it will be created.
- Parameters
upsert (False) – whether to insert the document if it has an
id
populated but no document with that ID exists in the databasevalidate (True) – whether to validate the document
safe (False) – whether to
reload()
the document before raising any errors
- Returns
self
Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.
-
set_field
(field_name, value, create=True, validate=True, dynamic=False, _enforce_read_only=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
switch_collection
(collection_name, keep_created=True)¶ Temporarily switch the collection for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_collection('old-users') user.save()
- Parameters
collection_name (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching collection, else is reset to True
See also
Use
switch_db
if you need to read from another database
-
switch_db
(db_alias, keep_created=True)¶ Temporarily switch the database for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_db('archive-db') user.save()
- Parameters
db_alias (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching db, else is reset to True
See also
Use
switch_collection
if you need to read from another collection
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
update
(**kwargs)¶ Performs an update on the
Document
A convenience wrapper toupdate()
.Raises
OperationError
if called on an object that has not yet been saved.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
class
fiftyone.core.odm.
NoDatasetFrameDocument
(**kwargs)¶ Bases:
fiftyone.core.odm.mixins.NoDatasetMixin
,fiftyone.core.odm.document.SerializableDocument
Attributes:
An ordered tuple of the public fields of this document.
Methods:
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
delete
()fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
reload
()save
()set_field
(field_name, value[, create, …])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
-
default_fields
= {'_dataset_id': <fiftyone.core.fields.ObjectIdField object>, '_sample_id': <fiftyone.core.fields.ObjectIdField object>, 'created_at': <fiftyone.core.fields.DateTimeField object>, 'frame_number': <fiftyone.core.fields.FrameNumberField object>, 'id': <fiftyone.core.fields.ObjectIdField object>, 'last_modified_at': <fiftyone.core.fields.DateTimeField object>}¶
-
default_fields_ordered
= ('id', 'frame_number', 'created_at', 'last_modified_at', '_sample_id', '_dataset_id')¶
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
delete
()¶
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
property
in_db
¶
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
reload
()¶
-
save
()¶
-
set_field
(field_name, value, create=True, validate=True, dynamic=False)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
-
fiftyone.core.odm.
get_default_fields
(cls, include_private=False, use_db_fields=False)¶ Gets the default fields present on all instances of the given
DatasetMixin
class.- Parameters
cls – the
DatasetMixin
classinclude_private (False) – whether to include fields starting with
_
use_db_fields (False) – whether to return database fields rather than user-facing fields, when applicable
- Returns
a tuple of field names
-
class
fiftyone.core.odm.
RunDocument
(**kwargs)¶ Bases:
fiftyone.core.odm.document.Document
Backing document for dataset runs.
Attributes:
An Object ID field.
A unicode string field.
A unicode string field.
A datetime field.
A dictionary field that wraps a standard Python dictionary.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A GridFS storage field.
An ordered tuple of the public fields of this document.
A field wrapper around MongoDB’s ObjectIds.
Whether the document has been inserted into the database.
Get the primary key.
Miscellaneous:
Methods:
cascade_save
(**kwargs)Recursively save any references and generic references on the document.
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
Compares the indexes defined in MongoEngine with the ones existing in the database.
copy
([new_id])Returns a deep copy of the document.
create_index
(keys[, background])Creates the given indexes if required.
delete
([signal_kwargs])Delete the
Document
from the database.Drops the entire collection associated with this
Document
type from the database.ensure_index
(key_or_list[, background])Ensure that the given indexes are in place.
Checks the document meta data and ensures all the indexes exist.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.Lists all indexes that should be created for the Document collection.
merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
modify
([query])Perform an atomic update of the document in the database and reload the document object using updated version.
register_delete_rule
(document_cls, …)This method registers the delete rules to apply when removing this object.
reload
(*fields, **kwargs)Reloads the document from the database.
save
([upsert, validate, safe])Saves the document to the database.
select_related
([max_depth])Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.set_field
(field_name, value[, create])Sets the value of a field of the document.
switch_collection
(collection_name[, …])Temporarily switch the collection for a document instance.
switch_db
(db_alias[, keep_created])Temporarily switch the database for a document instance.
to_dbref
()Returns an instance of
DBRef
useful in __raw__ queries.to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
update
(**kwargs)Performs an update on the
Document
A convenience wrapper toupdate()
.validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
-
dataset_id
¶ An Object ID field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
key
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
version
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
timestamp
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
config
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
view_stages
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
results
¶ A GridFS storage field.
-
exception
DoesNotExist
¶ Bases:
mongoengine.errors.DoesNotExist
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
MultipleObjectsReturned
¶ Bases:
mongoengine.errors.MultipleObjectsReturned
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
STRICT
= False¶
-
cascade_save
(**kwargs)¶ Recursively save any references and generic references on the document.
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
classmethod
compare_indexes
()¶ Compares the indexes defined in MongoEngine with the ones existing in the database. Returns any missing/extra indexes.
-
copy
(new_id=False)¶ Returns a deep copy of the document.
- Parameters
new_id (False) – whether to generate a new ID for the copied document. By default, the ID is left as
None
and will be automatically populated when the document is added to the database
-
copy_with_new_id
()¶
-
classmethod
create_index
(keys, background=False, **kwargs)¶ Creates the given indexes if required.
- Parameters
keys – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
delete
(signal_kwargs=None, **write_concern)¶ Delete the
Document
from the database. This will only take effect if the document has been previously saved.- Parameters
signal_kwargs – (optional) kwargs dictionary to be passed to the signal calls.
write_concern – Extra keyword arguments are passed down which will be used as options for the resultant
getLastError
command. For example,save(..., w: 2, fsync: True)
will wait until at least two servers have recorded the write and will force an fsync on the primary server.
-
classmethod
drop_collection
()¶ Drops the entire collection associated with this
Document
type from the database.Raises
OperationError
if the document has no collection set (i.g. if it is abstract)
-
classmethod
ensure_index
(key_or_list, background=False, **kwargs)¶ Ensure that the given indexes are in place. Deprecated in favour of create_index.
- Parameters
key_or_list – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
classmethod
ensure_indexes
()¶ Checks the document meta data and ensures all the indexes exist.
Global defaults can be set in the meta - see Defining documents
By default, this will get called automatically upon first interaction with the Document collection (query, save, etc) so unless you disabled auto_create_index, you shouldn’t have to call this manually.
Note
You can disable automatic index creation by setting auto_create_index to False in the documents meta data
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
id
¶ A field wrapper around MongoDB’s ObjectIds.
-
property
in_db
¶ Whether the document has been inserted into the database.
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
classmethod
list_indexes
()¶ Lists all indexes that should be created for the Document collection. It includes all the indexes from super- and sub-classes.
Note that it will only return the indexes’ fields, not the indexes’ options
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
modify
(query=None, **update)¶ Perform an atomic update of the document in the database and reload the document object using updated version.
Returns True if the document has been updated or False if the document in the database doesn’t match the query.
Note
All unsaved changes that have been made to the document are rejected if the method returns True.
- Parameters
query – the update will be performed only if the document in the database matches the query
update – Django-style update keyword arguments
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
Methods:get_auto_id_names
(new_class)Find a name for the automatic ID field for the given new class.
mro
()Return a type’s method resolution order.
-
property
pk
¶ Get the primary key.
-
classmethod
register_delete_rule
(document_cls, field_name, rule)¶ This method registers the delete rules to apply when removing this object.
-
reload
(*fields, **kwargs)¶ Reloads the document from the database.
- Parameters
*fields – an optional args list of specific fields to reload
-
save
(upsert=False, validate=True, safe=False, **kwargs)¶ Saves the document to the database.
If the document already exists, it will be updated, otherwise it will be created.
- Parameters
upsert (False) – whether to insert the document if it has an
id
populated but no document with that ID exists in the databasevalidate (True) – whether to validate the document
safe (False) – whether to
reload()
the document before raising any errors
- Returns
self
Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
switch_collection
(collection_name, keep_created=True)¶ Temporarily switch the collection for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_collection('old-users') user.save()
- Parameters
collection_name (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching collection, else is reset to True
See also
Use
switch_db
if you need to read from another database
-
switch_db
(db_alias, keep_created=True)¶ Temporarily switch the database for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_db('archive-db') user.save()
- Parameters
db_alias (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching db, else is reset to True
See also
Use
switch_collection
if you need to read from another collection
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
update
(**kwargs)¶ Performs an update on the
Document
A convenience wrapper toupdate()
.Raises
OperationError
if called on an object that has not yet been saved.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
class
fiftyone.core.odm.
DatasetSampleDocument
(**kwargs)¶ Bases:
fiftyone.core.odm.mixins.DatasetMixin
,fiftyone.core.odm.document.Document
Base class for sample documents backing samples in datasets.
All
fiftyone.core.dataset.Dataset._sample_doc_cls
classes inherit from this class.Attributes:
An Object ID field.
A unicode string field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.A datetime field.
A datetime field.
An ordered tuple of the public fields of this document.
Whether the document has been inserted into the database.
Get the primary key.
Methods:
add_field
(path, ftype[, embedded_doc_type, …])Adds a new field or embedded field to the document, if necessary.
add_implied_field
(path, value[, …])Adds the field or embedded field to the document, if necessary, inferring the field type from the provided value.
cascade_save
(**kwargs)Recursively save any references and generic references on the document.
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
Compares the indexes defined in MongoEngine with the ones existing in the database.
copy
([new_id])Returns a deep copy of the document.
create_index
(keys[, background])Creates the given indexes if required.
delete
([signal_kwargs])Delete the
Document
from the database.Drops the entire collection associated with this
Document
type from the database.ensure_index
(key_or_list[, background])Ensure that the given indexes are in place.
Checks the document meta data and ensures all the indexes exist.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
get_field_schema
([ftype, embedded_doc_type, …])Returns a schema dictionary describing the fields of this document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.Lists all indexes that should be created for the Document collection.
merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
merge_field_schema
(schema[, expand_schema, …])Merges the field schema into this document.
modify
([query])Perform an atomic update of the document in the database and reload the document object using updated version.
register_delete_rule
(document_cls, …)This method registers the delete rules to apply when removing this object.
reload
(*fields, **kwargs)Reloads the document from the database.
save
([upsert, validate, safe])Saves the document to the database.
select_related
([max_depth])Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.set_field
(field_name, value[, create, …])Sets the value of a field of the document.
switch_collection
(collection_name[, …])Temporarily switch the collection for a document instance.
switch_db
(db_alias[, keep_created])Temporarily switch the database for a document instance.
to_dbref
()Returns an instance of
DBRef
useful in __raw__ queries.to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
update
(**kwargs)Performs an update on the
Document
A convenience wrapper toupdate()
.validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
-
id
¶ An Object ID field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
filepath
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
metadata
¶ A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.- Parameters
document_type – the
fiftyone.core.odm.BaseEmbeddedDocument
type stored in this fielddescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
created_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
last_modified_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
property
media_type
¶
-
STRICT
= False¶
-
classmethod
add_field
(path, ftype, embedded_doc_type=None, subfield=None, fields=None, description=None, info=None, read_only=False, expand_schema=True, recursive=True, validate=True, **kwargs)¶ Adds a new field or embedded field to the document, if necessary.
- Parameters
path – the field name or
embedded.field.name
ftype – the field type to create. Must be a subclass of
fiftyone.core.fields.Field
embedded_doc_type (None) – the
fiftyone.core.odm.BaseEmbeddedDocument
type of the field. Only applicable whenftype
isfiftyone.core.fields.EmbeddedDocumentField
subfield (None) – the
fiftyone.core.fields.Field
type of the contained field. Only applicable whenftype
isfiftyone.core.fields.ListField
orfiftyone.core.fields.DictField
fields (None) – a list of
fiftyone.core.fields.Field
instances defining embedded document attributes. Only applicable whenftype
isfiftyone.core.fields.EmbeddedDocumentField
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field should be read-only
expand_schema (True) – whether to add new fields to the schema (True) or simply validate that the field already exists with a consistent type (False)
recursive (True) – whether to recursively add embedded document fields
validate (True) – whether to validate the field against an existing field at the same path
- Returns
True/False whether one or more fields or embedded fields were added to the document or its children
- Raises
ValueError – if a field in the schema is not compliant with an existing field of the same name
-
classmethod
add_implied_field
(path, value, expand_schema=True, dynamic=False, recursive=True, validate=True)¶ Adds the field or embedded field to the document, if necessary, inferring the field type from the provided value.
- Parameters
path – the field name or
embedded.field.name
value – the field value
expand_schema (True) – whether to add new fields to the schema (True) or simply validate that the field already exists with a consistent type (False)
dynamic (False) – whether to declare dynamic embedded document fields
recursive (True) – whether to recursively add embedded document fields
validate (True) – whether to validate the field against an existing field at the same path
- Returns
True/False whether one or more fields or embedded fields were added to the document or its children
- Raises
ValueError – if a field in the schema is not compliant with an existing field of the same name
-
cascade_save
(**kwargs)¶ Recursively save any references and generic references on the document.
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
property
collection_name
¶
-
classmethod
compare_indexes
()¶ Compares the indexes defined in MongoEngine with the ones existing in the database. Returns any missing/extra indexes.
-
copy
(new_id=False)¶ Returns a deep copy of the document.
- Parameters
new_id (False) – whether to generate a new ID for the copied document. By default, the ID is left as
None
and will be automatically populated when the document is added to the database
-
copy_with_new_id
()¶
-
classmethod
create_index
(keys, background=False, **kwargs)¶ Creates the given indexes if required.
- Parameters
keys – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
delete
(signal_kwargs=None, **write_concern)¶ Delete the
Document
from the database. This will only take effect if the document has been previously saved.- Parameters
signal_kwargs – (optional) kwargs dictionary to be passed to the signal calls.
write_concern – Extra keyword arguments are passed down which will be used as options for the resultant
getLastError
command. For example,save(..., w: 2, fsync: True)
will wait until at least two servers have recorded the write and will force an fsync on the primary server.
-
classmethod
drop_collection
()¶ Drops the entire collection associated with this
Document
type from the database.Raises
OperationError
if the document has no collection set (i.g. if it is abstract)
-
classmethod
ensure_index
(key_or_list, background=False, **kwargs)¶ Ensure that the given indexes are in place. Deprecated in favour of create_index.
- Parameters
key_or_list – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
classmethod
ensure_indexes
()¶ Checks the document meta data and ensures all the indexes exist.
Global defaults can be set in the meta - see Defining documents
By default, this will get called automatically upon first interaction with the Document collection (query, save, etc) so unless you disabled auto_create_index, you shouldn’t have to call this manually.
Note
You can disable automatic index creation by setting auto_create_index to False in the documents meta data
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
classmethod
get_field_schema
(ftype=None, embedded_doc_type=None, read_only=None, info_keys=None, created_after=None, include_private=False, flat=False, mode=None)¶ Returns a schema dictionary describing the fields of this document.
If the document belongs to a dataset, the schema will apply to all documents in the collection.
- Parameters
ftype (None) – an optional field type or iterable of field types to which to restrict the returned schema. Must be subclass(es) of
fiftyone.core.fields.Field
embedded_doc_type (None) – an optional embedded document type or iterable of types to which to restrict the returned schema. Must be subclass(es) of
fiftyone.core.odm.BaseEmbeddedDocument
read_only (None) – whether to restrict to (True) or exclude (False) read-only fields. By default, all fields are included
info_keys (None) – an optional key or list of keys that must be in the field’s
info
dictcreated_after (None) – an optional
datetime
specifying a minimum creation dateinclude_private (False) – whether to include fields that start with
_
in the returned schemaflat (False) – whether to return a flattened schema where all embedded document fields are included as top-level keys
mode (None) – whether to apply the above constraints before and/or after flattening the schema. Only applicable when ``flat` is True. Supported values are
("before", "after", "both")
. The default is"after"
- Returns
a dict mapping field names to
fiftyone.core.fields.Field
instances
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
property
in_db
¶ Whether the document has been inserted into the database.
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
classmethod
list_indexes
()¶ Lists all indexes that should be created for the Document collection. It includes all the indexes from super- and sub-classes.
Note that it will only return the indexes’ fields, not the indexes’ options
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
classmethod
merge_field_schema
(schema, expand_schema=True, recursive=True, validate=True, overwrite=False)¶ Merges the field schema into this document.
- Parameters
schema – a dict mapping field names or
embedded.field.names
tofiftyone.core.fields.Field
instancesexpand_schema (True) – whether to add new fields to the schema (True) or simply validate that fields already exist with consistent types (False)
recursive (True) – whether to recursively merge embedded document fields
validate (True) – whether to validate fields against existing fields at the same path
overwrite (False) – whether to overwrite the editable metadata of existing fields
- Returns
True/False whether any new fields were added
- Raises
ValueError – if a field in the schema is not compliant with an existing field of the same name or a new field is found but
expand_schema == False
-
modify
(query=None, **update)¶ Perform an atomic update of the document in the database and reload the document object using updated version.
Returns True if the document has been updated or False if the document in the database doesn’t match the query.
Note
All unsaved changes that have been made to the document are rejected if the method returns True.
- Parameters
query – the update will be performed only if the document in the database matches the query
update – Django-style update keyword arguments
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
Methods:get_auto_id_names
(new_class)Find a name for the automatic ID field for the given new class.
mro
()Return a type’s method resolution order.
-
property
pk
¶ Get the primary key.
-
classmethod
register_delete_rule
(document_cls, field_name, rule)¶ This method registers the delete rules to apply when removing this object.
-
reload
(*fields, **kwargs)¶ Reloads the document from the database.
- Parameters
*fields – an optional args list of specific fields to reload
-
save
(upsert=False, validate=True, safe=False, **kwargs)¶ Saves the document to the database.
If the document already exists, it will be updated, otherwise it will be created.
- Parameters
upsert (False) – whether to insert the document if it has an
id
populated but no document with that ID exists in the databasevalidate (True) – whether to validate the document
safe (False) – whether to
reload()
the document before raising any errors
- Returns
self
Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.
-
set_field
(field_name, value, create=True, validate=True, dynamic=False, _enforce_read_only=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
switch_collection
(collection_name, keep_created=True)¶ Temporarily switch the collection for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_collection('old-users') user.save()
- Parameters
collection_name (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching collection, else is reset to True
See also
Use
switch_db
if you need to read from another database
-
switch_db
(db_alias, keep_created=True)¶ Temporarily switch the database for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_db('archive-db') user.save()
- Parameters
db_alias (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching db, else is reset to True
See also
Use
switch_collection
if you need to read from another collection
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
update
(**kwargs)¶ Performs an update on the
Document
A convenience wrapper toupdate()
.Raises
OperationError
if called on an object that has not yet been saved.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
class
fiftyone.core.odm.
NoDatasetSampleDocument
(**kwargs)¶ Bases:
fiftyone.core.odm.mixins.NoDatasetMixin
,fiftyone.core.odm.document.SerializableDocument
Backing document for samples that have not been added to a dataset.
Attributes:
An ordered tuple of the public fields of this document.
Methods:
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
delete
()fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
reload
()save
()set_field
(field_name, value[, create, …])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
-
default_fields
= {'_dataset_id': <fiftyone.core.fields.ObjectIdField object>, '_media_type': <fiftyone.core.fields.StringField object>, '_rand': <fiftyone.core.fields.FloatField object>, 'created_at': <fiftyone.core.fields.DateTimeField object>, 'filepath': <fiftyone.core.fields.StringField object>, 'id': <fiftyone.core.fields.ObjectIdField object>, 'last_modified_at': <fiftyone.core.fields.DateTimeField object>, 'metadata': <fiftyone.core.fields.EmbeddedDocumentField object>, 'tags': <fiftyone.core.fields.ListField object>}¶
-
default_fields_ordered
= ('id', 'filepath', 'tags', 'metadata', 'created_at', 'last_modified_at', '_media_type', '_rand', '_dataset_id')¶
-
property
media_type
¶
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
delete
()¶
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
property
in_db
¶
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
reload
()¶
-
save
()¶
-
set_field
(field_name, value, create=True, validate=True, dynamic=False)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
-
fiftyone.core.odm.
serialize_value
(value, extended=False)¶ Serializes the given value.
- Parameters
value – the value
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
the serialized value
-
fiftyone.core.odm.
deserialize_value
(value)¶ Deserializes the given value.
- Parameters
value – the serialized value
- Returns
the value
-
fiftyone.core.odm.
validate_field_name
(field_name, media_type=None, is_frame_field=False)¶ Verifies that the given field name is valid.
- Parameters
field_name – the field name
media_type (None) – the media type of the sample, if known
is_frame_field (False) – whether this is a frame-level field
- Raises
ValueError – if the field name is invalid
-
fiftyone.core.odm.
create_field
(name, ftype, embedded_doc_type=None, subfield=None, fields=None, db_field=None, description=None, info=None, read_only=False, created_at=None, **kwargs)¶ Creates the field defined by the given specification.
Note
This method is used exclusively to create user-defined (non-default) fields. Any parameters accepted here must be stored on
fiftyone.core.odm.dataset.SampleFieldDocument
or else datasets will “lose” any additional decorations when they are loaded from the database.- Parameters
name – the field name
ftype – the field type to create. Must be a subclass of
fiftyone.core.fields.Field
embedded_doc_type (None) – the
fiftyone.core.odm.BaseEmbeddedDocument
type of the field. Only applicable whenftype
isfiftyone.core.fields.EmbeddedDocumentField
subfield (None) – the
fiftyone.core.fields.Field
type of the contained field. Only applicable whenftype
isfiftyone.core.fields.ListField
orfiftyone.core.fields.DictField
fields (None) – a list of
fiftyone.core.fields.Field
instances defining embedded document attributes. Only applicable whenftype
isfiftyone.core.fields.EmbeddedDocumentField
db_field (None) – the database field to store this field in. By default,
name
is useddescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field should be read-only
created_at (None) – the datetime the field was created
- Returns
-
fiftyone.core.odm.
create_implied_field
(path, value, dynamic=False)¶ Creates the field for the given value.
- Parameters
path – the field name or path
value – a value
dynamic (False) – whether to declare dynamic embedded document fields
- Returns
-
fiftyone.core.odm.
get_field_kwargs
(field)¶ Constructs the field keyword arguments dictionary for the given field.
- Parameters
field – a
fiftyone.core.fields.Field
orstr(field)
representation of one- Returns
a field specification dict
-
fiftyone.core.odm.
get_implied_field_kwargs
(value, dynamic=False)¶ Infers the field keyword arguments dictionary for a field that can hold the given value.
- Parameters
value – a value
dynamic (False) – whether to declare dynamic embedded document fields
- Returns
a field specification dict
-
fiftyone.core.odm.
validate_fields_match
(name, field, existing_field)¶ Validates that the types of the given fields match.
Embedded document fields are not validated, if applicable.
- Parameters
name – the field name or
embedded.field.name
field – a
fiftyone.core.fields.Field
existing_field – the reference
fiftyone.core.fields.Field
- Raises
ValueError – if the fields do not match
-
class
fiftyone.core.odm.
SavedViewDocument
(**kwargs)¶ Bases:
fiftyone.core.odm.document.Document
Backing document for saved views.
Attributes:
An Object ID field.
A unicode string field.
A unicode string field.
A unicode string field.
A string field that holds a hex color string like ‘#FF6D04’.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A datetime field.
A datetime field.
A datetime field.
An ordered tuple of the public fields of this document.
A field wrapper around MongoDB’s ObjectIds.
Whether the document has been inserted into the database.
Get the primary key.
Miscellaneous:
Methods:
cascade_save
(**kwargs)Recursively save any references and generic references on the document.
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
Compares the indexes defined in MongoEngine with the ones existing in the database.
copy
([new_id])Returns a deep copy of the document.
create_index
(keys[, background])Creates the given indexes if required.
delete
([signal_kwargs])Delete the
Document
from the database.Drops the entire collection associated with this
Document
type from the database.ensure_index
(key_or_list[, background])Ensure that the given indexes are in place.
Checks the document meta data and ensures all the indexes exist.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.Lists all indexes that should be created for the Document collection.
merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
modify
([query])Perform an atomic update of the document in the database and reload the document object using updated version.
register_delete_rule
(document_cls, …)This method registers the delete rules to apply when removing this object.
reload
(*fields, **kwargs)Reloads the document from the database.
save
([upsert, validate, safe])Saves the document to the database.
select_related
([max_depth])Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.set_field
(field_name, value[, create])Sets the value of a field of the document.
switch_collection
(collection_name[, …])Temporarily switch the collection for a document instance.
switch_db
(db_alias[, keep_created])Temporarily switch the database for a document instance.
to_dbref
()Returns an instance of
DBRef
useful in __raw__ queries.to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
update
(**kwargs)Performs an update on the
Document
A convenience wrapper toupdate()
.validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
-
dataset_id
¶ An Object ID field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
name
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
description
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
slug
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
color
¶ A string field that holds a hex color string like ‘#FF6D04’.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
view_stages
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
created_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
last_modified_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
last_loaded_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
exception
DoesNotExist
¶ Bases:
mongoengine.errors.DoesNotExist
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
MultipleObjectsReturned
¶ Bases:
mongoengine.errors.MultipleObjectsReturned
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
STRICT
= False¶
-
cascade_save
(**kwargs)¶ Recursively save any references and generic references on the document.
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
classmethod
compare_indexes
()¶ Compares the indexes defined in MongoEngine with the ones existing in the database. Returns any missing/extra indexes.
-
copy
(new_id=False)¶ Returns a deep copy of the document.
- Parameters
new_id (False) – whether to generate a new ID for the copied document. By default, the ID is left as
None
and will be automatically populated when the document is added to the database
-
copy_with_new_id
()¶
-
classmethod
create_index
(keys, background=False, **kwargs)¶ Creates the given indexes if required.
- Parameters
keys – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
delete
(signal_kwargs=None, **write_concern)¶ Delete the
Document
from the database. This will only take effect if the document has been previously saved.- Parameters
signal_kwargs – (optional) kwargs dictionary to be passed to the signal calls.
write_concern – Extra keyword arguments are passed down which will be used as options for the resultant
getLastError
command. For example,save(..., w: 2, fsync: True)
will wait until at least two servers have recorded the write and will force an fsync on the primary server.
-
classmethod
drop_collection
()¶ Drops the entire collection associated with this
Document
type from the database.Raises
OperationError
if the document has no collection set (i.g. if it is abstract)
-
classmethod
ensure_index
(key_or_list, background=False, **kwargs)¶ Ensure that the given indexes are in place. Deprecated in favour of create_index.
- Parameters
key_or_list – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
classmethod
ensure_indexes
()¶ Checks the document meta data and ensures all the indexes exist.
Global defaults can be set in the meta - see Defining documents
By default, this will get called automatically upon first interaction with the Document collection (query, save, etc) so unless you disabled auto_create_index, you shouldn’t have to call this manually.
Note
You can disable automatic index creation by setting auto_create_index to False in the documents meta data
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
id
¶ A field wrapper around MongoDB’s ObjectIds.
-
property
in_db
¶ Whether the document has been inserted into the database.
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
classmethod
list_indexes
()¶ Lists all indexes that should be created for the Document collection. It includes all the indexes from super- and sub-classes.
Note that it will only return the indexes’ fields, not the indexes’ options
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
modify
(query=None, **update)¶ Perform an atomic update of the document in the database and reload the document object using updated version.
Returns True if the document has been updated or False if the document in the database doesn’t match the query.
Note
All unsaved changes that have been made to the document are rejected if the method returns True.
- Parameters
query – the update will be performed only if the document in the database matches the query
update – Django-style update keyword arguments
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
Methods:get_auto_id_names
(new_class)Find a name for the automatic ID field for the given new class.
mro
()Return a type’s method resolution order.
-
property
pk
¶ Get the primary key.
-
classmethod
register_delete_rule
(document_cls, field_name, rule)¶ This method registers the delete rules to apply when removing this object.
-
reload
(*fields, **kwargs)¶ Reloads the document from the database.
- Parameters
*fields – an optional args list of specific fields to reload
-
save
(upsert=False, validate=True, safe=False, **kwargs)¶ Saves the document to the database.
If the document already exists, it will be updated, otherwise it will be created.
- Parameters
upsert (False) – whether to insert the document if it has an
id
populated but no document with that ID exists in the databasevalidate (True) – whether to validate the document
safe (False) – whether to
reload()
the document before raising any errors
- Returns
self
Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
switch_collection
(collection_name, keep_created=True)¶ Temporarily switch the collection for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_collection('old-users') user.save()
- Parameters
collection_name (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching collection, else is reset to True
See also
Use
switch_db
if you need to read from another database
-
switch_db
(db_alias, keep_created=True)¶ Temporarily switch the database for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_db('archive-db') user.save()
- Parameters
db_alias (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching db, else is reset to True
See also
Use
switch_collection
if you need to read from another collection
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
update
(**kwargs)¶ Performs an update on the
Document
A convenience wrapper toupdate()
.Raises
OperationError
if called on an object that has not yet been saved.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
-
fiftyone.core.odm.
default_workspace_factory
()¶ Creates a default top-level instance of
Space
- Returns
a default
Space
instance
-
class
fiftyone.core.odm.
Panel
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.workspace.AppComponent
Document for a panel (tab) within a Workspace in the App.
- Parameters
component_id – the component ID
type – the Panel type
pinned – whether the Panel is currently pinned
state – an optional Panel state dict
Attributes:
A unicode string field.
A boolean field.
A dictionary field that wraps a standard Python dictionary.
A unicode string field.
An ordered tuple of the public fields of this document.
Methods:
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
type
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
pinned
¶ A boolean field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
state
¶ A dictionary field that wraps a standard Python dictionary.
If this field is not set, its default value is
{}
.- Parameters
field (None) – an optional
Field
instance describing the type of the values in the dictdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
component_id
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
class
fiftyone.core.odm.
Space
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.workspace.AppComponent
Document for configuration of a Space in the App.
- Parameters
component_id – the component’s ID
children – the list of
Component
children of this space, if anyorientation (["horizontal", "vertical"]) – the orientation of this space’s children
active_child – the
component_id
of this space’s currently active childsizes – the ordered list of relative sizes for children of a space in
[0, 1]
Attributes:
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A unicode string field.
A unicode string field.
A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.A unicode string field.
An ordered tuple of the public fields of this document.
Methods:
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
copy
()Returns a deep copy of the document.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
set_field
(field_name, value[, create])Sets the value of a field of the document.
to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.DocumentMetaclass
-
children
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
orientation
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
active_child
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
sizes
¶ A list field that wraps a standard
Field
, allowing multiple instances of the field to be stored as a list in the database.If this field is not set, its default value is
[]
.- Parameters
field (None) – an optional
Field
instance describing the type of the list elementsdescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
property
name
¶
-
STRICT
= False¶
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
component_id
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
copy
()¶ Returns a deep copy of the document.
- Returns
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.DocumentMetaclass
Methods:mro
()Return a type’s method resolution order.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-
class
fiftyone.core.odm.
WorkspaceDocument
(*args, **kwargs)¶ Bases:
fiftyone.core.odm.document.Document
Document for configuration of a saved workspace in the App.
Contains a single
Space
as a child, which can in turn contain multiple children.Attributes:
A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.A string field that holds a hex color string like ‘#FF6D04’.
A datetime field.
An Object ID field.
A unicode string field.
A datetime field.
A datetime field.
A unicode string field.
An ordered tuple of the public fields of this document.
A field wrapper around MongoDB’s ObjectIds.
Whether the document has been inserted into the database.
Get the primary key.
Miscellaneous:
Methods:
cascade_save
(**kwargs)Recursively save any references and generic references on the document.
clean
()Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
clear_field
(field_name)Clears the field from the document.
Compares the indexes defined in MongoEngine with the ones existing in the database.
copy
([new_id])Returns a deep copy of the document.
create_index
(keys[, background])Creates the given indexes if required.
delete
([signal_kwargs])Delete the
Document
from the database.Drops the entire collection associated with this
Document
type from the database.ensure_index
(key_or_list[, background])Ensure that the given indexes are in place.
Checks the document meta data and ensures all the indexes exist.
fancy_repr
([class_name, select_fields, …])Generates a customizable string representation of the document.
field_to_mongo
(field_name)field_to_python
(field_name, value)from_dict
(d[, extended])Loads the document from a BSON/JSON dictionary.
from_json
(s)Loads the document from a JSON string.
get_field
(field_name)Gets the field of the document.
Get text score from text query
has_field
(field_name)Determines whether the document has a field of the given name.
Returns an iterator over the
(name, value)
pairs of the public fields of the document.Lists all indexes that should be created for the Document collection.
merge
(doc[, merge_lists, merge_dicts, overwrite])Merges the contents of the given document into this document.
modify
([query])Perform an atomic update of the document in the database and reload the document object using updated version.
register_delete_rule
(document_cls, …)This method registers the delete rules to apply when removing this object.
reload
(*fields, **kwargs)Reloads the document from the database.
save
([upsert, validate, safe])Saves the document to the database.
select_related
([max_depth])Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.set_field
(field_name, value[, create])Sets the value of a field of the document.
switch_collection
(collection_name[, …])Temporarily switch the collection for a document instance.
switch_db
(db_alias[, keep_created])Temporarily switch the database for a document instance.
to_dbref
()Returns an instance of
DBRef
useful in __raw__ queries.to_dict
([extended])Serializes this document to a BSON/JSON dictionary.
to_json
([pretty_print])Serializes the document to a JSON string.
to_mongo
(*args, **kwargs)Return as SON data ready for use with MongoDB.
update
(**kwargs)Performs an update on the
Document
A convenience wrapper toupdate()
.validate
([clean])Ensure that all fields’ values are valid and that required fields are present.
Classes:
alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
-
child
¶ A field that stores instances of a given type of
fiftyone.core.odm.BaseEmbeddedDocument
object.- Parameters
document_type – the
fiftyone.core.odm.BaseEmbeddedDocument
type stored in this fielddescription (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
color
¶ A string field that holds a hex color string like ‘#FF6D04’.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
created_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
dataset_id
¶ An Object ID field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
description
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
last_loaded_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
last_modified_at
¶ A datetime field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
slug
¶ A unicode string field.
- Parameters
description (None) – an optional description
info (None) – an optional info dict
read_only (False) – whether the field is read-only
created_at (None) – the datetime the field was created
-
exception
DoesNotExist
¶ Bases:
mongoengine.errors.DoesNotExist
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
exception
MultipleObjectsReturned
¶ Bases:
mongoengine.errors.MultipleObjectsReturned
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
STRICT
= False¶
-
cascade_save
(**kwargs)¶ Recursively save any references and generic references on the document.
-
clean
()¶ Hook for doing document level data cleaning (usually validation or assignment) before validation is run.
Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
-
clear_field
(field_name)¶ Clears the field from the document.
- Parameters
field_name – the field name
- Raises
ValueError – if the field does not exist
-
classmethod
compare_indexes
()¶ Compares the indexes defined in MongoEngine with the ones existing in the database. Returns any missing/extra indexes.
-
copy
(new_id=False)¶ Returns a deep copy of the document.
- Parameters
new_id (False) – whether to generate a new ID for the copied document. By default, the ID is left as
None
and will be automatically populated when the document is added to the database
-
copy_with_new_id
()¶
-
classmethod
create_index
(keys, background=False, **kwargs)¶ Creates the given indexes if required.
- Parameters
keys – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
delete
(signal_kwargs=None, **write_concern)¶ Delete the
Document
from the database. This will only take effect if the document has been previously saved.- Parameters
signal_kwargs – (optional) kwargs dictionary to be passed to the signal calls.
write_concern – Extra keyword arguments are passed down which will be used as options for the resultant
getLastError
command. For example,save(..., w: 2, fsync: True)
will wait until at least two servers have recorded the write and will force an fsync on the primary server.
-
classmethod
drop_collection
()¶ Drops the entire collection associated with this
Document
type from the database.Raises
OperationError
if the document has no collection set (i.g. if it is abstract)
-
classmethod
ensure_index
(key_or_list, background=False, **kwargs)¶ Ensure that the given indexes are in place. Deprecated in favour of create_index.
- Parameters
key_or_list – a single index key or a list of index keys (to construct a multi-field index); keys may be prefixed with a + or a - to determine the index ordering
background – Allows index creation in the background
-
classmethod
ensure_indexes
()¶ Checks the document meta data and ensures all the indexes exist.
Global defaults can be set in the meta - see Defining documents
By default, this will get called automatically upon first interaction with the Document collection (query, save, etc) so unless you disabled auto_create_index, you shouldn’t have to call this manually.
Note
You can disable automatic index creation by setting auto_create_index to False in the documents meta data
-
fancy_repr
(class_name=None, select_fields=None, exclude_fields=None, **kwargs)¶ Generates a customizable string representation of the document.
- Parameters
class_name (None) – optional class name to use
select_fields (None) – iterable of field names to restrict to
exclude_fields (None) – iterable of field names to exclude
**kwargs – additional key-value pairs to include in the string representation
- Returns
a string representation of the document
-
property
field_names
¶ An ordered tuple of the public fields of this document.
-
field_to_mongo
(field_name)¶
-
field_to_python
(field_name, value)¶
-
classmethod
from_dict
(d, extended=False)¶ Loads the document from a BSON/JSON dictionary.
- Parameters
d – a dictionary
extended (False) – whether the input dictionary may contain serialized extended JSON constructs
- Returns
-
classmethod
from_json
(s)¶ Loads the document from a JSON string.
- Returns
-
get_field
(field_name)¶ Gets the field of the document.
- Parameters
field_name – the field name
- Returns
the field value
- Raises
AttributeError – if the field does not exist
-
get_text_score
()¶ Get text score from text query
-
has_field
(field_name)¶ Determines whether the document has a field of the given name.
- Parameters
field_name – the field name
- Returns
True/False
-
id
¶ A field wrapper around MongoDB’s ObjectIds.
-
property
in_db
¶ Whether the document has been inserted into the database.
-
iter_fields
()¶ Returns an iterator over the
(name, value)
pairs of the public fields of the document.- Returns
an iterator that emits
(name, value)
tuples
-
classmethod
list_indexes
()¶ Lists all indexes that should be created for the Document collection. It includes all the indexes from super- and sub-classes.
Note that it will only return the indexes’ fields, not the indexes’ options
-
merge
(doc, merge_lists=True, merge_dicts=True, overwrite=True)¶ Merges the contents of the given document into this document.
- Parameters
doc – a
SerializableDocument
of same type as this documentmerge_lists (True) – whether to merge the elements of top-level list fields rather than treating the list as a single value
merge_dicts (True) – whether to recursively merge the contents of top-level dict fields rather than treating the dict as a single value
overwrite (True) – whether to overwrite (True) or skip (False) existing fields
-
modify
(query=None, **update)¶ Perform an atomic update of the document in the database and reload the document object using updated version.
Returns True if the document has been updated or False if the document in the database doesn’t match the query.
Note
All unsaved changes that have been made to the document are rejected if the method returns True.
- Parameters
query – the update will be performed only if the document in the database matches the query
update – Django-style update keyword arguments
-
my_metaclass
¶ alias of
mongoengine.base.metaclasses.TopLevelDocumentMetaclass
Methods:get_auto_id_names
(new_class)Find a name for the automatic ID field for the given new class.
mro
()Return a type’s method resolution order.
-
property
name
¶
-
property
pk
¶ Get the primary key.
-
classmethod
register_delete_rule
(document_cls, field_name, rule)¶ This method registers the delete rules to apply when removing this object.
-
reload
(*fields, **kwargs)¶ Reloads the document from the database.
- Parameters
*fields – an optional args list of specific fields to reload
-
save
(upsert=False, validate=True, safe=False, **kwargs)¶ Saves the document to the database.
If the document already exists, it will be updated, otherwise it will be created.
- Parameters
upsert (False) – whether to insert the document if it has an
id
populated but no document with that ID exists in the databasevalidate (True) – whether to validate the document
safe (False) – whether to
reload()
the document before raising any errors
- Returns
self
Handles dereferencing of
DBRef
objects to a maximum depth in order to cut down the number queries to mongodb.
-
set_field
(field_name, value, create=True)¶ Sets the value of a field of the document.
- Parameters
field_name – the field name
value – the field value
create (True) – whether to create the field if it does not exist
- Raises
ValueError – if
field_name
is not an allowed field name or does not exist andcreate == False
-
switch_collection
(collection_name, keep_created=True)¶ Temporarily switch the collection for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_collection('old-users') user.save()
- Parameters
collection_name (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching collection, else is reset to True
See also
Use
switch_db
if you need to read from another database
-
switch_db
(db_alias, keep_created=True)¶ Temporarily switch the database for a document instance.
Only really useful for archiving off data and calling save():
user = User.objects.get(id=user_id) user.switch_db('archive-db') user.save()
- Parameters
db_alias (str) – The database alias to use for saving the document
keep_created (bool) – keep self._created value after switching db, else is reset to True
See also
Use
switch_collection
if you need to read from another collection
-
to_dict
(extended=False)¶ Serializes this document to a BSON/JSON dictionary.
- Parameters
extended (False) – whether to serialize extended JSON constructs such as ObjectIDs, Binary, etc. into JSON format
- Returns
a dict
-
to_json
(pretty_print=False)¶ Serializes the document to a JSON string.
- Parameters
pretty_print (False) – whether to render the JSON in human readable format with newlines and indentations
- Returns
a JSON string
-
to_mongo
(*args, **kwargs)¶ Return as SON data ready for use with MongoDB.
-
update
(**kwargs)¶ Performs an update on the
Document
A convenience wrapper toupdate()
.Raises
OperationError
if called on an object that has not yet been saved.
-
validate
(clean=True)¶ Ensure that all fields’ values are valid and that required fields are present.
Raises
ValidationError
if any of the fields’ values are found to be invalid.
-