@@ -4,9 +4,11 @@ from rest_framework import serializers
|
||||
from snippets.models import Snippet
|
||||
|
||||
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class UserSerializerrr(serializers.ModelSerializer):
|
||||
snippets = serializers.PrimaryKeyRelatedField(many=True, queryset=Snippet.objects.all())
|
||||
last_connected_ip = serializers.IPAddressField(help_text="i'm out of ideas", protocol='ipv4', read_only=True)
|
||||
last_connected_at = serializers.DateField(help_text="really?", read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('id', 'username', 'snippets')
|
||||
fields = ('id', 'username', 'email', 'snippets', 'last_connected_ip', 'last_connected_at')
|
||||
|
||||
@@ -7,16 +7,16 @@ from rest_framework.views import APIView
|
||||
|
||||
from drf_swagger import openapi
|
||||
from drf_swagger.utils import swagger_auto_schema, no_body
|
||||
from users.serializers import UserSerializer
|
||||
from users.serializers import UserSerializerrr
|
||||
|
||||
|
||||
class UserList(APIView):
|
||||
"""UserList cbv classdoc"""
|
||||
|
||||
@swagger_auto_schema(responses={200: UserSerializer(many=True)})
|
||||
@swagger_auto_schema(responses={200: UserSerializerrr(many=True)})
|
||||
def get(self, request):
|
||||
queryset = User.objects.all()
|
||||
serializer = UserSerializer(queryset, many=True)
|
||||
serializer = UserSerializerrr(queryset, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
@swagger_auto_schema(operation_description="apiview post description override", request_body=openapi.Schema(
|
||||
@@ -27,7 +27,7 @@ class UserList(APIView):
|
||||
},
|
||||
))
|
||||
def post(self, request):
|
||||
serializer = UserSerializer(request.data)
|
||||
serializer = UserSerializerrr(request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
serializer.save()
|
||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||
@@ -37,15 +37,15 @@ class UserList(APIView):
|
||||
pass
|
||||
|
||||
|
||||
@swagger_auto_schema(method='put', request_body=UserSerializer)
|
||||
@swagger_auto_schema(method='put', request_body=UserSerializerrr)
|
||||
@swagger_auto_schema(methods=['get'], manual_parameters=[
|
||||
openapi.Parameter('test', openapi.IN_QUERY, "test manual param", type=openapi.TYPE_BOOLEAN),
|
||||
], responses={
|
||||
200: openapi.Response('response description', UserSerializer),
|
||||
200: openapi.Response('response description', UserSerializerrr),
|
||||
})
|
||||
@api_view(['GET', 'PUT'])
|
||||
def user_detail(request, pk):
|
||||
"""user_detail fbv docstring"""
|
||||
user = get_object_or_404(User.objects, pk=pk)
|
||||
serializer = UserSerializer(user)
|
||||
serializer = UserSerializerrr(user)
|
||||
return Response(serializer.data)
|
||||
|
||||
Reference in New Issue
Block a user