pydent.relationships.One¶
-
class
pydent.relationships.
One
(nested, ref=None, attr=None, callback=None, callback_args=None, callback_kwargs=None, **kwargs)[source]¶ Bases:
pydent.relationships.BaseRelationship
Defines a single relationship with another model.
Subclass of
pydent.marshaller.Relation
.One initializer. Uses “find” callback by default.
- Parameters
nested (basestring) – target model
args – other args for fields.Nested relationship
attr (basestring) – attribute to use to find model
kwargs – other kwargs for fields.Nested relationship
-
__init__
(nested, ref=None, attr=None, callback=None, callback_args=None, callback_kwargs=None, **kwargs)[source]¶ One initializer. Uses “find” callback by default.
- Parameters
nested (basestring) – target model
args – other args for fields.Nested relationship
attr (basestring) – attribute to use to find model
kwargs – other kwargs for fields.Nested relationship
Methods
__init__
(nested[, ref, attr, callback, …])One initializer.
build_query
(models)Bundles all of the callback args for the models into a single query.
cache_result
(owner, val)deserialize
(owner, val)fullfill
(owner[, cache, extra_args, …])Calls the callback function using the owner object.
get_callback_args
(owner[, extra_args])Processes the callback args.
get_callback_kwargs
(owner, extra_kwargs)Processes the callback kwargs.
register
(name, objtype)Registers the field to a nested class.
serialize
(owner, obj)set_data_key
(key)Attributes
QUERY_TYPE
SELF
-
ACCESSOR
¶ alias of
BaseRelationshipAccessor
-
_Callback__FLAGS
¶ alias of
pydent.marshaller.fields.Callback.__FLAGS
-
_get_ref_attr
(nested=None, ref=None, attr=None)¶ Sets the ‘ref’ and ‘attr’ attributes. These attributes are used to defined parameters for.
pydent.marshaller.Relation
classes.For example:
relation # HasOne, HasMany, or HasManyGeneric, etc. relation.set_ref(ref="parent_id") relation.ref # "parent_id" relation.attr # "id" relation.set_ref(model="SampleType") relation.ref # "sample_type_id" relation.attr # "id" relation.set_ref(attr="name", model="OperationType") relation.ref # "operation_type_name relation.attr # "name"
-
build_query
(models)¶ Bundles all of the callback args for the models into a single query.
-
fullfill
(owner, cache=None, extra_args=None, extra_kwargs=None)¶ Calls the callback function using the owner object. A Callback.SELF arg value will be replaced to be equivalent to the owner instance model.
- Parameters
owner – the owning object
cache – if True, will cache the return in the deserialized data. On next call, the cached result will be returned.
extra_args – extra args to pass to the callback function
extra_kwargs – extra kwargs to pass to the callback function
- Returns
function result
- Return type
any
-
get_callback_args
(owner, extra_args=None)¶ Processes the callback args.
- Return type
List
[Any
]
-
get_callback_kwargs
(owner, extra_kwargs)¶ Processes the callback kwargs.
- Return type
dict
-
register
(name, objtype)¶ Registers the field to a nested class. Instantiates the corresponding descriptor (i.e. accessor)
- Parameters
name (
str
) – name of the fieldobjtype (
Type
) – the nested class to register the field to
- Returns
None
- Return type
None