X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/7f6fa6595b4c558d7a97ed00cdb19469db4919df..c79f6c48cae9411acf3f413b25d942df34f7719f:/philo/models/base.py diff --git a/philo/models/base.py b/philo/models/base.py index 7d78383..02d8456 100644 --- a/philo/models/base.py +++ b/philo/models/base.py @@ -11,10 +11,14 @@ from mptt.models import MPTTModel, MPTTModelBase, MPTTOptions from philo.exceptions import AncestorDoesNotExist from philo.models.fields import JSONField from philo.signals import entity_class_prepared -from philo.utils import ContentTypeRegistryLimiter, ContentTypeSubclassLimiter, AttributeMapper, TreeAttributeMapper +from philo.utils import ContentTypeRegistryLimiter, ContentTypeSubclassLimiter +from philo.utils.entities import AttributeMapper, TreeAttributeMapper from philo.validators import json_validator +__all__ = ('Tag', 'value_content_type_limiter', 'register_value_model', 'unregister_value_model', 'JSONValue', 'ForeignKeyValue', 'ManyToManyValue', 'Attribute', 'Entity', 'TreeEntity') + + class Tag(models.Model): """A simple, generic model for tagging.""" #: A CharField (max length 255) which contains the name of the tag. @@ -32,6 +36,7 @@ class Tag(models.Model): class Titled(models.Model): + # Use of this model is deprecated. title = models.CharField(max_length=255) slug = models.SlugField(max_length=255) @@ -42,7 +47,7 @@ class Titled(models.Model): abstract = True -#: An instance of :class:`ContentTypeRegistryLimiter` which is used to track the content types which can be related to by :class:`ForeignKeyValue`\ s and :class:`ManyToManyValue`\ s. +#: An instance of :class:`.ContentTypeRegistryLimiter` which is used to track the content types which can be related to by :class:`ForeignKeyValue`\ s and :class:`ManyToManyValue`\ s. value_content_type_limiter = ContentTypeRegistryLimiter() @@ -309,7 +314,7 @@ class Entity(models.Model): def get_attribute_mapper(self, mapper=AttributeMapper): """ - Returns a dictionary-like object which can be used to retrieve related :class:`Attribute`\ s' values directly. + Returns an :class:`.AttributeMapper` which can be used to retrieve related :class:`Attribute`\ s' values directly. Example:: @@ -491,7 +496,7 @@ class TreeEntity(Entity, TreeModel): def get_attribute_mapper(self, mapper=None): """ - Returns a dictionary-like object which can be used to retrieve related :class:`Attribute`\ s' values directly. If an attribute with a given key is not related to the :class:`Entity`, then the object will check the parent's attributes. + Returns a :class:`.TreeAttributeMapper` or :class:`.AttributeMapper` which can be used to retrieve related :class:`Attribute`\ s' values directly. If an :class:`Attribute` with a given key is not related to the :class:`Entity`, then the mapper will check the parent's attributes. Example::