diff --git a/eav/__init__.py b/eav/__init__.py index 73a21be..e4cc249 100644 --- a/eav/__init__.py +++ b/eav/__init__.py @@ -27,9 +27,9 @@ def get_version(): __version__ = get_version() def register(model_cls, config_cls=None): - from registry import Registry + from .registry import Registry Registry.register(model_cls, config_cls) def unregister(model_cls): - from registry import Registry + from .registry import Registry Registry.unregister(model_cls) diff --git a/eav/managers.py b/eav/managers.py index 315c28c..d04c04c 100644 --- a/eav/managers.py +++ b/eav/managers.py @@ -166,7 +166,7 @@ def create(self, **kwargs): new_kwargs = {} eav_kwargs = {} - for key, value in kwargs.iteritems(): + for key, value in kwargs.items(): if key.startswith(prefix): eav_kwargs.update({key[len(prefix):]: value}) else: @@ -174,7 +174,7 @@ def create(self, **kwargs): obj = self.model(**new_kwargs) obj_eav = getattr(obj, config_cls.eav_attr) - for key, value in eav_kwargs.iteritems(): + for key, value in eav_kwargs.items(): setattr(obj_eav, key, value) obj.save() return obj diff --git a/eav/models.py b/eav/models.py index 1544567..8c969fc 100644 --- a/eav/models.py +++ b/eav/models.py @@ -39,7 +39,7 @@ from django.core.exceptions import ValidationError from django.utils.translation import ugettext_lazy as _ from django.contrib.contenttypes.models import ContentType -from django.contrib.contenttypes import generic +from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.sites.models import Site from django.contrib.sites.managers import CurrentSiteManager from django.conf import settings @@ -177,7 +177,7 @@ class Meta: help_text=_(u"User-friendly attribute name")) site = models.ForeignKey(Site, verbose_name=_(u"site"), - default=Site.objects.get_current) + default=settings.SITE_ID) slug = EavSlugField(_(u"slug"), max_length=50, db_index=True, help_text=_(u"Short unique attribute label")) @@ -337,7 +337,7 @@ class Value(models.Model): entity_ct = models.ForeignKey(ContentType, related_name='value_entities') entity_id = models.IntegerField() - entity = generic.GenericForeignKey(ct_field='entity_ct', + entity = GenericForeignKey(ct_field='entity_ct', fk_field='entity_id') value_text = models.TextField(blank=True, null=True) @@ -351,7 +351,7 @@ class Value(models.Model): generic_value_id = models.IntegerField(blank=True, null=True) generic_value_ct = models.ForeignKey(ContentType, blank=True, null=True, related_name='value_values') - value_object = generic.GenericForeignKey(ct_field='generic_value_ct', + value_object = GenericForeignKey(ct_field='generic_value_ct', fk_field='generic_value_id') created = models.DateTimeField(_(u"created"), default=datetime.now) diff --git a/eav/registry.py b/eav/registry.py index 82ed5b7..70b161c 100644 --- a/eav/registry.py +++ b/eav/registry.py @@ -29,7 +29,7 @@ from django.db.utils import DatabaseError from django.db.models.signals import pre_init, post_init, pre_save, post_save -from django.contrib.contenttypes import generic +from django.contrib.contenttypes.fields import GenericRelation from .managers import EntityManager from .models import Entity, Attribute, Value @@ -163,7 +163,7 @@ def _attach_generic_relation(self): gr_name = self.config_cls.generic_relation_attr.lower() generic_relation = \ - generic.GenericRelation(Value, + GenericRelation(Value, object_id_field='entity_id', content_type_field='entity_ct', related_query_name=rel_name)