1. A 모델이 B모델을 ForeignKey로 가지고 있을 때 B모델 object에 연결된

 
정현우

1. A 모델이 B모델을 ForeignKey로 가지고 있을 때
B모델 object에 연결된 A모델 object 존재 여부에 따라 Boolean 값을 주는 방법이 있을까요?

2. 1.과 관련된건데

템플릿에서 url을 통해 view를 실행시킬 때
view에서 request.user로 현재 유저를 받을 수 있자나요
그 user를 foreignkey로 가지는 object가 있을 때에만 return render하고 그렇지 않으면 아무 일도 일어나지 않게 하려면 어떻게 해야할까요?

감사합니다!

  • 박영록

    if b.a_set.exists(): do_something()

    Chinseok Lee

    혹은 로그아웃 상황에서는 request.user 는 django.contrib.auth.models.AnonymousUser 파이썬 클래스 (no 모델) 의 인스턴스이기 때문에 로그인 여부를 체크해줄 필요가 있습니다.

    request.user.is_authenticated() and Post.objects.filter(user=request.user).exists()

    또는

    request.user.is_authenticated() and request.user.post_set.exists()

    로그인 체크를 django.contrib.auth.decorators.login_required 장식자로 해줘도 되구요.

Advertisements