공지 카테고리 분류 하기 - 2

게시글의 목록을 보여주는 view에서 queryset에 대한 filter을 많이 써서

ordering이 되지 않았던 것 같다.

그래서 filter을 다 거치고 나서 마지막에 template로 넘겨주기 전에

order_by를 사용해서 정렬했다.

1
paginator = Paginator(documents.order_by('doc_sort', '-create_date'), 10)

그랬더니 잘 된다!

한 가지 더 해결해야 하는 것은 공지라는 분류가 관리자 외에는 보이면 안된다는 것!

그래서 view에서 forms로 현재 유저가 슈퍼 유저인지 boolean으로 넘겼다.

1
2
3
4
# super_user인가?
suser = request.user.is_superuser

document_form = DocumentForm(default_category=category[0], super_user = suser)

forms에서는 다음과 같은 조건을 걸었다.

1
2
3
# 슈퍼 유저가 아니라면 queryset에서 공지를 제외시켜!
if not suser:
fqueryset = fqueryset.exclude(name__icontains="공지")

테스트해보니 굳.

Share