fields = ["id", "note", "created", "user"]
ordering = ["-created"]
+ def to_representation(self, instance):
+ ret = super().to_representation(instance)
+
+ request = self.context.get("request")
+ api_version = int(
+ request.version if request else settings.REST_FRAMEWORK["DEFAULT_VERSION"],
+ )
+
+ if api_version < 8:
+ user_id = ret["user"]["id"]
+ ret["user"] = user_id
+
+ return ret
+
class DocumentSerializer(
OwnedObjectSerializer,
},
)
+ def test_docnote_serializer_v7(self):
+ doc = Document.objects.create(
+ title="test",
+ mime_type="application/pdf",
+ content="this is a document which will have notes!",
+ )
+ Note.objects.create(
+ note="This is a note.",
+ document=doc,
+ user=self.user,
+ )
+ self.assertEqual(
+ self.client.get(
+ f"/api/documents/{doc.pk}/",
+ headers={"Accept": "application/json; version=7"},
+ format="json",
+ ).data["notes"][0]["user"],
+ self.user.id,
+ )
+
def test_create_note(self):
"""
GIVEN:
"rest_framework.authentication.SessionAuthentication",
],
"DEFAULT_VERSIONING_CLASS": "rest_framework.versioning.AcceptHeaderVersioning",
- "DEFAULT_VERSION": "7",
+ "DEFAULT_VERSION": "8",
# Make sure these are ordered and that the most recent version appears
# last. See api.md#api-versioning when adding new versions.
- "ALLOWED_VERSIONS": ["1", "2", "3", "4", "5", "6", "7"],
+ "ALLOWED_VERSIONS": ["1", "2", "3", "4", "5", "6", "7", "8"],
# DRF Spectacular default schema
"DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema",
}