from django.contrib.auth.models import User from rest_framework import serializers from rest_framework.validators import UniqueTogetherValidator from standards.models import Standards from chat.models import ChatRoom, ChatMessage class StandardsSerializer(serializers.ModelSerializer): username = serializers.SerializerMethodField('getCreatedByUser') last_modified_on = serializers.SerializerMethodField('getFormatedLastModified') class Meta: model = Standards fields = ["id", "name", "last_modified_on", "username", "content"] def getCreatedByUser(self, standard): return standard.created_standard_by.first_name + " " + standard.created_standard_by.first_name def getFormatedLastModified(self, standard): return standard.last_modified_on.strftime("%d.%m.%Y %H:%M") class ChatRoomSerializer(serializers.ModelSerializer): class Meta: model = ChatRoom fields = ["id", "roomname", "roomname_channel"] class ChatMessageSerializer(serializers.ModelSerializer): sendtime = serializers.SerializerMethodField('getFormatedMessageTimeStarted') class Meta: model = ChatMessage fields = ["author", "content", "sendtime"] class ChatRoomFullSerializer(serializers.ModelSerializer): chatroom_createddate = serializers.SerializerMethodField('getFormatedChatStarted') #messages = ChatMessageSerializer(many=True) class Meta: model = ChatRoom fields = ["id", "roomname", "roomname_channel", "chatroom_createddate", "chatmembers", "chatmember_single","messages", "creator"] depth = 2 def getFormatedChatStarted(self, chatroom): return chatroom.chatroom_createddate.strftime("%d.%m.%Y %H:%M")