from rest_framework import serializers from django.utils import timezone from datetime import datetime from members.models import Member, MemberRequest from django.conf import settings #, default=timezone.now # , default=datetime.fromtimestamp(0) class MemberSerializer(serializers.Serializer): id = serializers.IntegerField(read_only=True) first_name = serializers.CharField(required=True, max_length=127) last_name = serializers.CharField(required=True, max_length=127) email = serializers.EmailField(min_length=None, max_length=None, required=True) POR = serializers.CharField(max_length=255) AYY = serializers.BooleanField(default=False) jas = serializers.BooleanField(default=False) created = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S") paid = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S") def create(self, validated_data): ''' Create and return a new Member instance, given the validated data. ''' return Member.objects.create(**validated_data) def update(self, instance, validated_data): ''' Update and return an existing Member instance given the validated data. ''' instance.first_name = validated_data.get('first_name', instance.first_name) instance.last_name = validated_data.get('last_name', instance.last_name) instance.email = validated_data.get('email', instance.email) instance.POR = validated_data.get('POR', instance.POR) instance.AYY = validated_data.get('AYY', instance.AYY) instance.jas = validated_data.get('jas', instance.jas) # instance.created = validated_data.get('created', instance.created) instance.paid = validated_data.get('paid', instance.paid) instance.save() return instance class MemberRequestSerializer(serializers.ModelSerializer): id = serializers.IntegerField(read_only=True) submitted = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S") member = MemberSerializer() class Meta: model = MemberRequest fields = ('id', 'member')