Tags
- SQL
- outer join
- Django
- ORM
- drf
- 뷰
- Queue
- 트리
- migrations
- Article & User
- stack
- 스택
- 완전검색
- Vue
- M:N
- 큐
- count
- regexp
- create
- update
- 통계학
- 이진트리
- DB
- Tree
- 쟝고
- 백트래킹
- distinct
- delete
- 그리디
- N:1
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
Django에 대하여(35)_DRF with N:1 Relation - POST 본문
POST
단일 댓글 생성을 위한 url 및 view 함수 작성
# articles/urls.py
urlpatterns = [
...,
path('articles/<int:article_pk>/commments/', views.comment_create),
]
serializer 인스턴스의 save() 메서드는 특정 Serialzier 인스턴스를 저장하는 과정에서 추가 데이터를 받을 수 있음
# articles/views.py
@api_view(['POST'])
def comment_create(request, article_pk):
article = Article.objects.get(pk=article_pk)
serializer = CommentSerializer(data=request.data)
if serializer.is_valid(raise_exception=True):
serializer.save(article=article)
return Response(serializer.data, status=status.HTTP_201_CREATED)
CommentSerializer에서 외래 키에 해당하는 article field 또한 사용자로부터 입력받도록 설정되어 있기 때문에 서버 측에서 누락되었다고 판단한 것입니다.
읽기 전용 필드
데이터를 전송하는 시점에 "유효성 검사에서 제외시키고, 데이터 조회 시에는 출력"하는 필드입니다.
# articles/serializers.py
class CommentSerializer(serializers.ModelSerializer):
class Meta:
model = Comment
fields = '__all__'
read_only_fields = ('article',)
'백엔드' 카테고리의 다른 글
Django에 대하여(37)_DRF 응답 데이터 재구성 (0) | 2024.05.25 |
---|---|
Django에 대하여(36)_DRF with N:1 Relation - DELETE & PUT (0) | 2024.05.24 |
Django에 대하여(34)_DRF with N:1 Relation - GET (0) | 2024.05.22 |
Django에 대하여(33)_DRF - DELETE & PUT (0) | 2024.05.21 |
Django에 대하여(32)_DRF - POST (0) | 2024.05.20 |