Fix Entry issue
This commit is contained in:
@ -4,6 +4,7 @@ from django.contrib.auth import get_user_model
|
||||
User = get_user_model()
|
||||
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from django.db import IntegrityError
|
||||
from django.conf import settings
|
||||
from django.urls import reverse
|
||||
@ -851,12 +852,22 @@ class EntrySerializer(serializers.ModelSerializer):
|
||||
|
||||
def to_representation(self, instance):
|
||||
ret = super().to_representation(instance)
|
||||
ret['team'] = TeamSerializer(instance.team).data
|
||||
ret['event'] = NewEvent2Serializer(instance.event).data
|
||||
ret['category'] = NewCategorySerializer(instance.category).data
|
||||
ret['owner'] = CustomUserSerializer(instance.owner).data
|
||||
|
||||
# instance が辞書の場合(エラー時)は基本情報のみ返す
|
||||
if isinstance(instance, dict):
|
||||
return ret
|
||||
|
||||
# 正常な場合のみ関連オブジェクトを追加
|
||||
if hasattr(instance, 'team') and instance.team:
|
||||
ret['team'] = TeamSerializer(instance.team).data
|
||||
if hasattr(instance, 'event') and instance.event:
|
||||
ret['event'] = NewEvent2Serializer(instance.event).data
|
||||
if hasattr(instance, 'category') and instance.category:
|
||||
ret['category'] = NewCategorySerializer(instance.category).data
|
||||
if hasattr(instance, 'owner') and instance.owner:
|
||||
ret['owner'] = CustomUserSerializer(instance.owner).data
|
||||
|
||||
if isinstance(ret['date'], datetime):
|
||||
if isinstance(ret.get('date'), datetime):
|
||||
ret['date'] = ret['date'].date().isoformat()
|
||||
elif isinstance(ret['date'], date):
|
||||
ret['date'] = ret['date'].isoformat()
|
||||
|
||||
Reference in New Issue
Block a user