django에서 User가 사용하지 않고 삭제를 할려면

2023. 4. 17. 10:00django

Django에서 User 모델을 삭제하는 것은 권장되지 않습니다. 이는 User 모델과 관련된 다른 모델과의 관계 때문에 예기치 않은 동작을 일으킬 수 있기 때문입니다. 대신, User 모델에서 is_active 필드를 False로 설정하여 사용하지 않는 계정으로 표시하는 것이 좋습니다.

다음은 is_active 필드를 False로 설정하여 사용하지 않는 계정으로 표시하는 코드입니다.

 

from django.contrib.auth.models import User

def delete_user(request, user_id):
    # User 객체 가져오기
    user = User.objects.get(id=user_id)

    # is_active 필드를 False로 설정하여 사용하지 않는 계정으로 표시
    user.is_active = False
    user.save()

    # 삭제된 User 객체의 id 반환
    return user.id

 

이 코드에서는 is_active 필드를 False로 설정하여 사용하지 않는 계정으로 표시합니다. 이렇게 하면 해당 계정에 로그인할 수 없게 됩니다. save() 메서드를 호출하여 User 모델을 업데이트한 후, 삭제된 User 객체의 id를 반환합니다.