django 신고 model 설계

작성자: [관리자] 하얀설표

2025.12.16 15:29 (KST) 작성됨






목적

신고 기능을 통한 문제 유저/게시물 블락

 

모델

여러 모델을 1개의 신고 모델에서 관리할 수 있도록 설계한다.

class 신고
object key: str # object 구분 키
object id: int # object id
title: str
content: str
author: fk, user

 

동작

Create

특정인이 신고 게시물 수가 아닌 신고인 수를 카운트 한다.

신고인 수가 일정 수를 넘어서면 서버에서 자동으로 해당 object를 block 처리한다.

class CreateView
model_data: dict[str, Model]
if not 로그인 => 403 perm err
{{ validated }}
# 신고인 수 카운트
qs = {{ 신고 모델 }}.objects.filter(key={{ object_key }}, id={{ object_id }})
count = qs.values_list(author).disticnt()
if {{ block count }} <= count
  model = model_data[{{ object key }}]
  {{ object block }}

 

Read

조회 페이지는 일반 게시물과 동일하게 하지만, 경우에 따라 관리자와 작성자만 볼 수 있도록 하던가, 또는 모두가 조회할 수 있도록 하던가 선택한다.

 

Update, Delete

신고 기능은 수정과 삭제를 불가능하게 한다.

 

 






추천 (0)


글 목록

댓글을 달 수 없는 게시물입니다.


"분류없음" 카테고리의 #Python, #Django 관련 게시물