2011-04-23 2 views
0

this question의 후속 조치로 실제 발생한 오류를 찾아내는 것이 좋습니다. 내가 잘못했거나 버그입니까?Django 동적 필터 오류

f = {'groups__isnull': 'True'} 
    students1 = models.Student.objects.filter(**f) 
    students2 = models.Student.objects.filter(groups__isnull=True) 

이 두 쿼리는 동일해야하지만 일치하지 않아야합니다. 참고로

, 내 모델 :

class Student (models.Model): 
    user = models.ForeignKey(User, unique=True, null=False, related_name='student') 
    teacher = models.ForeignKey(User, null=False, related_name='students') 
    assignment = models.ForeignKey(LabJournal, blank=True, null=True, related_name='students') 

class JournalGroup (models.Model): 
    title = models.CharField(null=False, max_length=256) 
    owner = models.ForeignKey(User, null=True, related_name='journal_groups') 
    members = models.ManyToManyField(Student, blank=True, related_name='groups') 

답변

5

나는 쿼리 사이의 분명한 차이점을 참조하십시오.

{'groups__isnull': True}은 결코 {'groups__isnull': 'True'}과 같지 않습니다.

하나는 True를 부울로, 다른 하나를 문자열로 제공합니다.