join-api/user_app/serializers.py

25 lines
No EOL
959 B
Python

import random
from rest_framework import serializers, viewsets
from .models import User
from djangorestframework_camel_case.parser import CamelCaseJSONParser
from djangorestframework_camel_case.render import CamelCaseJSONRenderer
def generate_random_color():
return "#" + "".join(random.choices("0123456789ABCDEF", k=6))
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['id', 'first_name', 'last_name', 'email', 'phone', 'initials', 'color', 'is_online', 'is_contact_only', 'last_login']
def create(self, validated_data):
if 'color' not in validated_data:
validated_data['color'] = generate_random_color()
return super().create(validated_data)
class UserViewSet(viewsets.ModelViewSet):
serializer_class = UserSerializer
queryset = User.objects.all()
parser_classes = [CamelCaseJSONParser]
renderer_classes = [CamelCaseJSONRenderer]