2010-06-04 7 views
0

알림 기능을 만들고 싶고 2 가지 모델의 필드가 필요합니다. 어떻게 그 필드에 액세스 할 수 있습니까? 내 알림보기에 은 내가 에 따라이보기에서 클래스 변수에 액세스하는 django

data = Notices.objects.filter(last_login<date_follow) 
LAST_LOGIN 모델 클래스 사용자에 속하는

및 date_follow을 쓴하지만 그 변수를 액세스하는 적절하고 올바른 방법이 아닙니다. 어떻게 액세스 할 수 있습니까? 마지막 로그인 이후에 보지 못한 알림을 실현하기 위해 두 날짜를 비교해야합니다.

감사합니다.

+0

Notices and Follow의 모델 코드를 게시하여 도움을 줄 수있는 정보를 찾으십시오. (또한 클래스 변수가 아닙니다. 객체에 속한 변수를 관련 클래스의 인스턴스라고합니다.) –

답변

2

일반적으로 두 테이블을 결합하고자합니다. Django에서는 하나의 테이블에서 다른 테이블로 외래 키가있는 경우이 방법이 가장 좋습니다.

class User(models.Model): 
    last_login = ... 

class Notice(models.Model): 
    ... 

class Follow(models.Model): 
    user = models.ForeignKey(User) 
    notice = models.ForeignKey(Notice) 
    date_follow = ... 

하고 내가이 쿼리를 테스트하지 않는

Notice.objects.filter(follow_set__date_follow__gt = follow_set__user__last_login) 

쿼리,하지만 여기에 follow_set이 '자동 장고에 의해 작성되고 관리자입니다 : 당신은 아마 /이 같은 모델을 갖고 싶어 외래 키에 대한 역 집합을 반환합니다. 원하는 경우 'related_name'을 외래 키와 함께 사용하여 여기에서 다른 이름을 선택할 수 있습니다.

+0

글쎄, 여전히 오류가 발생합니다 : 전역 이름 'relations_set__user__last_login'이 정의되지 않았습니다. 오류가 발생했습니다. 논리적 인 ... 내가 틀렸어? 고맙습니다! – dana

관련 문제