Document type, folder and tags API serializer now return a numeric count of the documents contained instead of a link to the document list API endpoint

This commit is contained in:
Roberto Rosario
2014-12-13 05:03:15 -04:00
parent 741ac66bd9
commit 81a85e6de8
3 changed files with 14 additions and 5 deletions

View File

@@ -25,12 +25,15 @@ class DocumentImageSerializer(serializers.Serializer):
class DocumentTypeSerializer(serializers.ModelSerializer):
documents = serializers.HyperlinkedIdentityField(view_name='documenttype-document-list')
documents = serializers.SerializerMethodField('get_documents_count')
class Meta:
model = DocumentType
fields = ('id', 'name', 'documents')
def get_documents_count(self, obj):
return obj.documents.count()
class DocumentSerializer(serializers.ModelSerializer):
versions = DocumentVersionSerializer(many=True, read_only=True)

View File

@@ -6,9 +6,12 @@ from .models import Folder
class FolderSerializer(serializers.ModelSerializer):
documents = serializers.HyperlinkedIdentityField(view_name='folder-document-list')
documents = serializers.SerializerMethodField('get_documents_count')
class Meta:
fields = ('id', 'title', 'user', 'datetime_created', 'documents')
model = Folder
read_only_fields = ('user',)
def get_documents_count(self, obj):
return obj.documents.count()

View File

@@ -5,9 +5,12 @@ from rest_framework import serializers
from .models import Tag
class TagSerializer(serializers.HyperlinkedModelSerializer):
documents = serializers.HyperlinkedIdentityField(view_name='tag-document-list')
class TagSerializer(serializers.ModelSerializer):
documents = serializers.SerializerMethodField('get_documents_count')
class Meta:
fields = ('id', 'url', 'label', 'color', 'documents')
fields = ('id', 'label', 'color', 'documents')
model = Tag
def get_documents_count(self, obj):
return obj.documents.count()