From 1ac549409a9e3dca8b1518ba49673eb9362d133c Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 25 Nov 2013 22:23:31 +0000 Subject: [PATCH 1/7] no need to fetch all attributes on each save! --- eav/managers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eav/managers.py b/eav/managers.py index aa28bda..e5f59dd 100644 --- a/eav/managers.py +++ b/eav/managers.py @@ -161,7 +161,7 @@ class EntityManager(models.Manager): if not config_cls or config_cls.manager_only: return super(EntityManager, self).create(**kwargs) - attributes = config_cls.get_attributes() + #attributes = config_cls.get_attributes() prefix = '%s__' % config_cls.eav_attr new_kwargs = {} From 7a2fd8bfa13b31a1938fb852073a7fc0c5e88c5c Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 25 Nov 2013 22:49:02 +0000 Subject: [PATCH 2/7] Corrected test --- eav/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eav/models.py b/eav/models.py index e098f36..9656442 100644 --- a/eav/models.py +++ b/eav/models.py @@ -64,7 +64,7 @@ class EnumValue(models.Model): >>> ynu = EnumGroup.objects.create(name='Yes / No / Unkown') >>> ynu.enums.add(yes, no, unkown) - >>> Atrribute.objects.create(name='Has Fever?', + >>> Attribute.objects.create(name='Has Fever?', ... datatype=Attribute.TYPE_ENUM, ... enum_group=ynu) From a70b9c5359e0fd0a3a5834c09bda2f8bd987adf6 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 25 Nov 2013 22:50:15 +0000 Subject: [PATCH 3/7] Fixed in do test --- eav/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eav/models.py b/eav/models.py index 9656442..de4e900 100644 --- a/eav/models.py +++ b/eav/models.py @@ -141,7 +141,7 @@ class Attribute(models.Model): >>> unkown = EnumValue.objects.create(value='unkown') >>> ynu = EnumGroup.objects.create(name='Yes / No / Unkown') >>> ynu.enums.add(yes, no, unkown) - >>> Atrribute.objects.create(name='Has Fever?', + >>> Attribute.objects.create(name='Has Fever?', ... datatype=Attribute.TYPE_ENUM, ... enum_group=ynu) From fdc7886614ddc87b41929f69f918921c0ffad534 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 25 Nov 2013 22:52:18 +0000 Subject: [PATCH 4/7] in doc test correction ( duplicate key ) --- eav/models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eav/models.py b/eav/models.py index de4e900..ccf1395 100644 --- a/eav/models.py +++ b/eav/models.py @@ -57,9 +57,9 @@ class EnumValue(models.Model): For example: - >>> yes = EnumValue.objects.create(value='yes') - >>> no = EnumValue.objects.create(value='no') - >>> unkown = EnumValue.objects.create(value='unkown') + >>> yes = EnumValue.objects.create(value='Yes') + >>> no = EnumValue.objects.create(value='No') + >>> unkown = EnumValue.objects.create(value='Unkown') >>> ynu = EnumGroup.objects.create(name='Yes / No / Unkown') >>> ynu.enums.add(yes, no, unkown) From 94b4dd762b290f1e39ed80fb8aba298595e20379 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 25 Nov 2013 22:56:18 +0000 Subject: [PATCH 5/7] more fixes to the tests --- eav/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eav/models.py b/eav/models.py index ccf1395..3948ab4 100644 --- a/eav/models.py +++ b/eav/models.py @@ -61,10 +61,10 @@ class EnumValue(models.Model): >>> no = EnumValue.objects.create(value='No') >>> unkown = EnumValue.objects.create(value='Unkown') - >>> ynu = EnumGroup.objects.create(name='Yes / No / Unkown') + >>> ynu = EnumGroup.objects.create(name='Yes/No/Unkown') >>> ynu.enums.add(yes, no, unkown) - >>> Attribute.objects.create(name='Has Fever?', + >>> Attribute.objects.create(name='Has fever?', ... datatype=Attribute.TYPE_ENUM, ... enum_group=ynu) From 7f92a4ec20ff20b95341f15739d4400dc1b3b60e Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 25 Nov 2013 23:01:34 +0000 Subject: [PATCH 6/7] Trying to avoid doctest --- eav/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eav/models.py b/eav/models.py index 3948ab4..e5c7f3b 100644 --- a/eav/models.py +++ b/eav/models.py @@ -533,7 +533,7 @@ class Entity(object): This would allow you to do: - >>> for i in m.eav: print i + \>\>\> for i in m.eav: print i ''' return iter(self.get_values()) From 7d3016cfbc5063554d311a3c6ce2b7762c5cbda1 Mon Sep 17 00:00:00 2001 From: Bruno Tavares Date: Mon, 25 Nov 2013 23:17:52 +0000 Subject: [PATCH 7/7] Make doctest skip invalid tests --- eav/models.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/eav/models.py b/eav/models.py index e5c7f3b..9de7ab2 100644 --- a/eav/models.py +++ b/eav/models.py @@ -57,16 +57,17 @@ class EnumValue(models.Model): For example: - >>> yes = EnumValue.objects.create(value='Yes') + >>> yes = EnumValue.objects.create(value='Yes') # doctest: SKIP >>> no = EnumValue.objects.create(value='No') >>> unkown = EnumValue.objects.create(value='Unkown') - >>> ynu = EnumGroup.objects.create(name='Yes/No/Unkown') + >>> ynu = EnumGroup.objects.create(name='Yes / No / Unkown') >>> ynu.enums.add(yes, no, unkown) - >>> Attribute.objects.create(name='Has fever?', + >>> Attribute.objects.create(name='Has Fever?', ... datatype=Attribute.TYPE_ENUM, ... enum_group=ynu) + .. note:: The same *EnumValue* objects should be reused within multiple @@ -533,7 +534,7 @@ class Entity(object): This would allow you to do: - \>\>\> for i in m.eav: print i + >>> for i in m.eav: print i # doctest:SKIP ''' return iter(self.get_values())