Skip to content

Commit f3b37a2

Browse files
authored
[fix] 연결된 함수 호출을 분리해서 에러 해결
[fix] 연결된 함수 호출을 분리해서 에러 해결
2 parents ea5f9f5 + 4a0cb47 commit f3b37a2

File tree

2 files changed

+16
-49
lines changed

2 files changed

+16
-49
lines changed

diary/serializers.py

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -58,49 +58,12 @@ class WriteRequest(serializers.Serializer):
5858
title = serializers.CharField(max_length=100)
5959
content = serializers.CharField()
6060

61-
class Meta:
62-
model = Diary
63-
fields = '__all__'
64-
65-
def create(self, validated_data):
66-
user_id = validated_data.pop('userId')
67-
try:
68-
user = User.objects.get(pk=user_id)
69-
except User.DoesNotExist:
70-
raise serializers.ValidationError("유저가 존재하지 않습니다.")
71-
72-
validated_data['user'] = user
73-
content_data = validated_data.pop('content')
74-
diary = Diary.objects.create(**validated_data)
75-
Sentences.objects.create(diary=diary, sentence=content_data)
76-
77-
return diary
78-
7961
class UpdateRequest(serializers.Serializer):
8062
diaryId = serializers.IntegerField()
8163
userId = serializers.IntegerField()
8264
title = serializers.CharField(max_length=100)
8365
content = serializers.CharField()
8466

85-
class Meta:
86-
model = Diary
87-
fields = '__all__'
88-
89-
def create(self, validated_data):
90-
diary_id = validated_data.pop('diaryId')
91-
user_id = validated_data.pop('userId')
92-
try:
93-
user = User.objects.get(pk=user_id)
94-
except User.DoesNotExist:
95-
raise serializers.ValidationError("유저가 존재하지 않습니다.")
96-
97-
validated_data['user'] = user
98-
content_data = validated_data.pop('content')
99-
new_diary = Diary.objects.create(**validated_data)
100-
Sentences.objects.create(diary=new_diary, sentence=content_data)
101-
102-
return new_diary
103-
10467
class GetUserRequest(serializers.Serializer):
10568
userId = serializers.IntegerField()
10669

diary/views.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,18 @@ def post(self, request):
4747
except User.DoesNotExist:
4848
return JsonResponse({'isSuccess': False, 'message': '사용자를 찾을 수 없습니다.'}, status=status.HTTP_400_BAD_REQUEST)
4949

50-
diary = serializer.save()
50+
diary = Diary.objects.create(user=user, title=serializer.validated_data.get('title'))
5151

52-
content = Sentences.objects.create(sentence=serializer.validated_data.get('content'), diary=diary)
53-
memory = TextRank(content.sentence)
52+
content = serializer.validated_data.get('content')
53+
54+
sentence = Sentences.objects.create(sentence=content, diary=diary)
55+
56+
memory = TextRank(content=content)
5457
question, answer = make_quiz(memory, keyword_size=5)
5558

56-
for q, a in zip(question, answer):
57-
Quizs.objects.create(question=q, answer=a, sentence=content)
59+
Quizs.objects.bulk_create([Quizs(question=q, answer=a, sentence=sentence) for q, a in zip(question, answer)])
5860

59-
return JsonResponse({'isSuccess': True, 'result': SentenceSimpleSerializer(content).data}, status=status.HTTP_201_CREATED)
61+
return JsonResponse({'isSuccess': True, 'result': SentenceSimpleSerializer(sentence).data}, status=status.HTTP_201_CREATED)
6062

6163
return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
6264

@@ -78,16 +80,18 @@ def post(self, request):
7880
deleteDiary = Diary.objects.get(id=diary_id)
7981
Diary.delete(deleteDiary)
8082

81-
updateDiary = serializer.save()
83+
diary = Diary.objects.create(user=user, title=serializer.validated_data.get('title'))
84+
85+
content = serializer.validated_data.get('content')
86+
87+
sentence = Sentences.objects.create(sentence=content, diary=diary)
8288

83-
content = Sentences.objects.create(sentence=serializer.validated_data.get('content'), diary=updateDiary)
84-
memory = TextRank(content.sentence)
89+
memory = TextRank(content=content)
8590
question, answer = make_quiz(memory, keyword_size=5)
8691

87-
for q, a in zip(question, answer):
88-
Quizs.objects.create(question=q, answer=a, sentence=content)
92+
Quizs.objects.bulk_create([Quizs(question=q, answer=a, sentence=sentence) for q, a in zip(question, answer)])
8993

90-
return JsonResponse({'isSuccess': True, 'result': SentenceSimpleSerializer(content).data}, status=status.HTTP_201_CREATED)
94+
return JsonResponse({'isSuccess': True, 'result': SentenceSimpleSerializer(sentence).data}, status=status.HTTP_201_CREATED)
9195
except Diary.DoesNotExist:
9296
return JsonResponse({'isSuccess': False, 'message': '일기를 찾을 수 없습니다.'}, status=status.HTTP_400_BAD_REQUEST)
9397
return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

0 commit comments

Comments
 (0)