프로그래밍/Django & Flask

[Django] objects.filter에 다중값 넣기

대인보우 2020. 11. 27. 22:38
반응형

내가 팔로우 한 사람들의 게시글만 출력하게 하기 위해 filter값을 어떻게 줘야할 지 고민했다.

following = user.following.all() # 내 팔로워 리스트
post = []
for f in following:
	post.append(Post.objects.filter(posting_writer = f))

그래서 먼저 following 리스트를 만들고, post 리스트에 하나씩 넣으려고 했는데,

만약 게시글이 많아지면 for문을 돌리는 건 무리가 있을 것 같았다.

그래서 찾아보다 '__in'이라는 내장모듈이 있는 것을 발견!

 

다중값을 넣어주고 싶은 열이름에 '__in'을 사용하면 다중값을 넣을 수 있음!

following = user.following.all()
post = Post.objects.filter(posting_writer__in = following).order_by('-posting_date')

 

posting_wirter = f 에서 

posting_writer__in 으로 변경

 

* '열이름'__in

반응형