From f3ac50b135816de4bfb9c27a0c5b207e11e112f4 Mon Sep 17 00:00:00 2001
From: Sylvain Le Bon <sylvain@happy-dev.fr>
Date: Mon, 4 Jun 2018 19:01:49 +0200
Subject: [PATCH] bugfix: fixed @id fields

---
 djangoldp/serializers.py | 12 ++++++++----
 setup.py                 |  2 +-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py
index ef684a99..6fbf3082 100644
--- a/djangoldp/serializers.py
+++ b/djangoldp/serializers.py
@@ -13,27 +13,31 @@ class ContainerSerializer(ListSerializer):
     def data(self):
         return ReturnDict(super(ListSerializer, self).data, serializer=self)
 
-class JsonLdRelatedField(HyperlinkedRelatedField):
+class JsonLdField(HyperlinkedRelatedField):
     def __init__(self, view_name=None, **kwargs):
         super().__init__(view_name, **kwargs)
-        #get the field name associated with the url of the view
+        self.get_lookup_args()
+        
+    def get_lookup_args(self):
         try:
             lookup_field = get_resolver().reverse_dict[self.view_name][0][0][1][0]
             self.lookup_field = lookup_field
             self.lookup_url_kwarg = lookup_field
         except MultiValueDictKeyError:
             pass
+
+class JsonLdRelatedField(JsonLdField):
     def to_representation(self, value):
         try:
             return {'@id': super().to_representation(value)}
         except ImproperlyConfigured:
             return value.pk
 
-class JsonLdIdentityField(JsonLdRelatedField):
+class JsonLdIdentityField(JsonLdField):
     def __init__(self, view_name=None, **kwargs):
         kwargs['read_only'] = True
         kwargs['source'] = '*'
-        super(JsonLdIdentityField, self).__init__(view_name, **kwargs)
+        super().__init__(view_name, **kwargs)
 
     def use_pk_only_optimization(self):
         return False
diff --git a/setup.py b/setup.py
index 4291b773..a815cec2 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@ from setuptools import setup
 
 setup(
     name='djangoldp',
-    version='0.4a1',
+    version='0.4a2',
     url='https://git.happy-dev.fr/happy-dev/djangoldp/',
     author="Startin'blox",
     author_email='sylvain@happy-dev.fr',
-- 
GitLab