diff --git a/marshmallow_jsonapi/fields.py b/marshmallow_jsonapi/fields.py
index <HASH>..<HASH> 100644
--- a/marshmallow_jsonapi/fields.py
+++ b/marshmallow_jsonapi/fields.py
@@ -85,16 +85,20 @@ class Relationship(BaseRelationship):
         return None
 
     def add_resource_linkage(self, value):
+        def stringify(value):
+            if value is not None:
+                return str(value)
+            return value
+
         if self.many:
-            included_data = [
-                {'type': self.type_,
-                    'id': get_value_or_raise(self.id_field, each)}
-                for each in value
-            ]
+            included_data = [{
+                'type': self.type_,
+                'id': stringify(get_value_or_raise(self.id_field, each))
+            } for each in value]
         else:
             included_data = {
                 'type': self.type_,
-                'id': get_value_or_raise(self.id_field, value)
+                'id': stringify(get_value_or_raise(self.id_field, value))
             }
         return included_data
The value of id members must always be strings unless empty