forked from SMU-LIKELION-11TH/Eeum_backend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserializers.py
30 lines (28 loc) · 1.31 KB
/
serializers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from django.utils import timezone
from rest_framework import serializers
from .models import Message
class MessageSerializer(serializers.ModelSerializer):
created_at = serializers.SerializerMethodField()
class Meta:
model = Message
fields = ["id","created_at","read","content","type","target_id"]
def get_created_at(self,obj):
now = timezone.now()
time_difference = now - obj.created_at
if time_difference.total_seconds() < 60:
return("방금 전")
elif time_difference.total_seconds() < 60 * 60:
minutes = int(time_difference.total_seconds() / 60)
return(f"{minutes}분 전")
elif time_difference.total_seconds() < 60 * 60 * 24:
hours = int(time_difference.total_seconds() / (60 * 60))
return(f"{hours}시간 전")
elif time_difference.total_seconds() < 60 * 60 * 24 * 30:
days = int(time_difference.total_seconds() / (60 * 60 * 24))
return(f"{days}일 전")
elif time_difference.total_seconds() < 60 * 60 * 24 * 365:
months = int(time_difference.total_seconds() / (60 * 60 * 24 * 30))
return(f"{months}달 전")
else:
years = int(time_difference.total_seconds() / (60 * 60 * 24 * 365))
return(f"{years}년 전")