![]() |
A property whose values are Category
instances.
Inherits From: Property
, expected_type
google.appengine.ext.db.CategoryProperty(
verbose_name=None,
name=None,
default=None,
required=False,
validator=None,
choices=None,
indexed=True
)
Args | |
---|---|
verbose_name
|
User friendly name of property. |
name
|
Storage name for property. By default, uses attribute name as it is
assigned in the Model sub-class.
|
default
|
Default value for property if none is assigned. |
required
|
Whether property is required. |
validator
|
User provided method used for validation. |
choices
|
User provided set of valid property values. |
indexed
|
Whether property is indexed. |
Child Classes
Methods
datastore_type
datastore_type()
Deprecated backwards-compatible accessor method for self.data_type
.
default_value
default_value()
Default value for unassigned values.
Returns | |
---|---|
Default value as provided by __init__(default) .
|
empty
empty(
value
)
Determine if value is empty in the context of this property.
For most kinds, this is equivalent to "not value", but for kinds like
bool
, the test is more subtle, so subclasses can override this method
if necessary.
Args | |
---|---|
value
|
Value to validate against this Property .
|
Returns | |
---|---|
True if this value is considered empty in the context of this Property
type, otherwise False .
|
get_updated_value_for_datastore
get_updated_value_for_datastore(
model_instance
)
Determine new value for auto-updated property.
Some properies (e.g. DateTimeProperty
, UserProperty
) optionally update
their value on every put()
. This call must return the new desired value
for such properties. For all other properties, this call must return
AUTO_UPDATE_UNCHANGED
.
Args | |
---|---|
model_instance
|
Instance to get new value for. |
Returns | |
---|---|
Datastore representation of the new model value in a form that is
appropriate for storing in the datastore, or AUTO_UPDATE_UNCHANGED .
|
get_value_for_datastore
get_value_for_datastore(
model_instance
)
Datastore representation of this property.
Looks for this property in the given model instance, and returns the proper datastore representation of the value that can be stored in a datastore entity. Most critically, it will fetch the datastore key value for reference properties.
Some properies (e.g. DateTimeProperty
, UserProperty
) optionally update
their value on every put()
. This call must return the current value for
such properties (get_updated_value_for_datastore
returns the new value).
Args | |
---|---|
model_instance
|
Instance to fetch datastore value from. |
Returns | |
---|---|
Datastore representation of the model value in a form that is appropriate for storing in the datastore. |
make_value_from_datastore
make_value_from_datastore(
value
)
Native representation of this property.
Given a value retrieved from a datastore entity, return a value, possibly converted, to be stored on the model instance. Usually this returns the value unchanged, but a property class may override this when it uses a different datatype on the model instance than on the entity.
This API is not quite symmetric with get_value_for_datastore()
,
because the model instance on which to store the converted value
may not exist yet -- we may be collecting values to be passed to a
model constructor.
Args | |
---|---|
value
|
Value retrieved from the datastore entity. |
Returns | |
---|---|
The value converted for use as a model instance attribute. |
make_value_from_datastore_index_value
make_value_from_datastore_index_value(
index_value
)
validate
validate(
value
)
Coerce values (except None
) to self.data_type
.
Args | |
---|---|
value
|
The value to be validated and coerced. |
Returns | |
---|---|
The coerced and validated value. It is guaranteed that this is
either None or an instance of self.data_type ; otherwise an exception
is raised.
|
Raises | |
---|---|
BadValueError if the value could not be validated or coerced.
|
Class Variables | |
---|---|
creation_counter |
2
|