Make swagger_schema_fields work on serializer Fields

Closes #167.
This commit is contained in:
Cristi Vîjdea
2018-08-07 19:44:47 +03:00
parent 65aac1da2c
commit 37c00ab3fb
8 changed files with 99 additions and 56 deletions
+22
View File
@@ -23,12 +23,34 @@ class ExampleProjectSerializer(serializers.Serializer):
ref_name = 'Project'
class UnixTimestampField(serializers.DateTimeField):
def to_representation(self, value):
""" Return epoch time for a datetime object or ``None``"""
from django.utils.dateformat import format
try:
return int(format(value, 'U'))
except (AttributeError, TypeError):
return None
def to_internal_value(self, value):
import datetime
return datetime.datetime.fromtimestamp(int(value))
class Meta:
swagger_schema_fields = {
'format': 'integer',
'title': 'Client date time suu',
'description': 'Date time in unix timestamp format',
}
class SnippetSerializer(serializers.Serializer):
"""SnippetSerializer classdoc
create: docstring for create from serializer classdoc
"""
id = serializers.IntegerField(read_only=True, help_text="id serializer help text")
created = UnixTimestampField(read_only=True)
owner = serializers.PrimaryKeyRelatedField(
queryset=get_user_model().objects.all(),
default=serializers.CurrentUserDefault(),
+1 -1
View File
@@ -5,7 +5,7 @@ from drf_yasg.utils import swagger_serializer_method
from snippets.models import Snippet
try:
import typing
import typing # noqa: F401
from .method_serializers_with_typing import MethodFieldExampleSerializer
except ImportError:
from .method_serializers_without_typing import MethodFieldExampleSerializer