[Django] 시리얼라이저 다루기..

채린·2023년 9월 1일

1. 시리얼라이저에 있는 필드

GET할때 정보 더하기

시리얼라이저에 넣기 전에 직접 지정 가능

posts = Post.objects.filter(title__icontains=keyword
for post in posts:
	post.author=user.nickname
	if Vote.objects.filter(vote_post=post.post_id).exists():
    	post.is_vote=True

POST, request.data['키']=값 으로 추가 가능

user = request.user
request.data['user'] = user.id

POST할때 serializer.save(@@=##)로 저장 가능

if serializer.is_valid():
	newpli=serializer.save(mypli_user = request.user)   

2. 시리얼라이저에 없는, manytomany필드 추가

if serializer.is_valid():
	user=serializer.save()                          # 회원가입
	# 해시태그(관심사) 추가
	for tag in hashtags_list_end:
		hashtag , _ = Hashtag.objects.get_or_create(hashtag=tag)
		user.interest.add(hashtag)

<-> remove


+

Patch에서 객체의 값을 변경할때

debate=get_object_or_404(Debate, debate_id=debate_pk)
debate.cond=2
debate.save()

변경 후 save해줘야 변경사항 저장됨

0개의 댓글