code: def get(self):
          
          if not hasattr(self, '_instance'):
              raise ImplementationError("Impossible to get the PK of an unbound field")
          if not hasattr(self._instance, '_pk'):
              raise DoesNotExist("The current object doesn't exists anymore")
  
          if not self._instance._pk:
              self.set(value=None)
  
          return self.normalize(self._instance._pk)
docs: We do not call the default getter as we have the value cached in the
          instance in its _pk attribute