๐Ÿ‘‘ ์žฅ๊ณ  Q

2953 ๋‹จ์–ด ์žฅ๊ณ ์žฅ๊ณ 

์žฅ๊ณ ์˜ q ๊ฐ์ฒด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

Q()

  • ์žฅ๊ณ  ์ฟผ๋ฆฌ๋ฌธ์„ ์ž‘์„ฑํ•  ๋•Œ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
from django.db.models import Q

or

  • '|' ์„ ์‚ฌ์šฉํ•ด์„œ or ์กฐ๊ฑด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
Post.objects.filter(Q(user__pk=user.id) | Q(id=post))

&

  • '&' ์„ ์‚ฌ์šฉํ•ด์„œ and ์กฐ๊ฑด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
Post.objects.filter(Q(user__pk=user.id) & Q(id=post))

~

  • '~' ์„ ์‚ฌ์šฉํ•ด์„œ not์กฐ๊ฑด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
Post.objects.filter(~Q(user__pk=user.id))
  • not ์—ฐ์‚ฐ์€ exclude()๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
Post.objects.exclude(user__pk=user.id)
  • Q๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋“ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ