2013-02-25 4 views
0

저는 장고 앱에 로그인 할 때 LDAP 인증 모듈을 사용하고 있습니다. 이 로그에에 잘 작동하지만 난의를 사용하는 기능에 문제가 있어요 :생산중인 Django LDAP 인증

request.user.is_authenticated(): 

이 (또한 LDAP를 사용) 내 dev에 컴퓨터에서 잘 작동하지만 생산에 사용자에게 관련된 정보를 반환하지 않습니다 . 특히 사용자 기본 키를 기반으로 일련의 이벤트를 검색하고 있습니다.

eventList = Event.objects.filter(employee_id = request.user.pk) 

이벤트가 존재합니다 (다른보기에서 렌더링 됨). 나는 그 하나의 진술이라고 확신합니다. 내가 한 있지만 다음과 같이 사용자를 하위 분류 있음을 주목할 필요가있다, 그러나 직원이 생성된다 (필자는 관리 인터페이스에서 확인했습니다) :

class Employee(models.Model): 
    # This field is required. 
    user = models.OneToOneField(User) 
    manager_id = models.ForeignKey('self', related_name = 'employees', null = True) 

    def __unicode__(self): 
    return self.user.username 

def create_user_profile(sender, **kwargs): 
    """When creating a new user, make an employee profile too.""" 
    u = kwargs["instance"] 
    if not Employee.objects.filter(user = u): 
     Employee(user=u).save() 

post_save.connect(create_user_profile, sender = User) 

사람이 도와 주 시겠어요?

+0

어떤 오류 메시지가 당신이 점점? – reptilicus

+0

사실, 이제 템플릿을 반환했지만 비어 있습니다. 그래서, 그 문제는 쿼리와 함께한다는 것을 의미한다고 생각합니까? –

+0

쿼리를 목록으로 다시 작성해야 할 필요는 없다고 생각합니다. 장고 ORM에서 반환 된 목록이어야합니다. 그것을 제거하고 무슨 일이 일어나는가보십시오? – reptilicus

답변

0

이것은 내 검색어에 달려 있습니다. 기본적으로 원래 쿼리는 각 Employee 및 User 객체가 동일한 PK를 가졌다 고 가정합니다. 이것은 개발 단계에서 괜찮 았지만 키가 일치하지 않아 제작 단계에서 작동하지 않았습니다.

해결 가지 아래 하나 원래 쿼리를 교체 :

employee = request.user.employee 
    eventList = Event.objects.filter(employee_id = employee.pk)