2012-05-14 4 views
0

현재 django에 4 개의 양식 필드, 2 개의 텍스트, 2 개의 선택 필드가있는 페이지를 작성 중입니다. 제출되면 해당 필드를 사용하여 일치하는 항목에 대한 여러 모델을 검색합니다.여러 필드를 검색하는 건초 더미

모델은 다음과 같습니다

class Person(models.Model): 
    user = models.ForeignKey(User, blank=True, null=True, verbose_name="the user associated with this profile") 
    first_name = models.CharField(max_length=255) 
    last_name = models.CharField(max_length=255) 
    about = models.TextField(max_length=255, blank=True, null=True) 
    birthdate = models.DateField(blank=True, null=True, verbose_name="Birthdate (yyyy-mm-dd)") 
    GENDER_CHOICES = (
     (u'M', u'Male'), 
     (u'F', u'Female'), 
    ) 
    gender = models.CharField(max_length=1, choices = GENDER_CHOICES, default = 'M') 
    picture = models.ImageField(upload_to='profile', blank=True, null=True) 
    nationality = CountryField(blank=True, null=True) 
    location = models.CharField(max_length=255, blank=True, null=True) 
    command_cert = models.BooleanField(verbose_name="COMMAND certification") 
    experience = models.ManyToManyField('userProfile.MartialArt', blank=True, null=True) 

와 나는 FIRST_NAME 필드의 LAST_NAME 필드, 국적 필드 및 경험 필드를 검색하지만, FIRST_NAME 필드가 비어 있으면 말하려고하고, I 빈 값을 전달하여 모든 행을 반환 한 다음 동일한 방식으로 성을 필터링해야합니다. 이유는 무엇인가에 대해 전혀 작동하지 않습니다. 이것은 나의 sqs이다 :

results = SearchQuerySet().models(Person).filter(first_name=sname, last_name=slastname, nationality=scountry, experience__pk=sexperience) 

어떤 아이디어?

답변

0

특정 오류나 스택 추적을 보지 않고 "전혀 작동하지 않는 것"을 판별하기가 어렵습니다.

편집 : 제공된보기 코드를보고 필자는 필터를 제거하고 Fighter, Referee, Insider 및 Judge 모델의 모든 개체를 반환합니다. 이것은 여기에있는 문제가 필터가 아닌 다른 것이 아닌지 확인하기위한 것입니다.

그런 다음 개체가 결과에 배치되는 것을 확인한 후에는 문제 필터가 무엇인지 결정하기 위해 한 번에 하나씩 필터를 넣었습니다. 이것을 시도하고 결과로 답장하십시오.

+0

내가 필드에서 사용하는 항목의 조합에 상관없이 모두 비어 있어도 아무 것도 반환하지 않습니다. – flaiks

+0

이 페이지의 전체보기를 붙여 넣을 수 있습니까? 필터가 아무 것도 반환하지 않는 데는 여러 가지 이유가 있지만 자세한 정보없이 문제를 해결할 수는 없습니다. – patrickn

+0

이것은 전체보기입니다 [link] (http://pastebin.com/rcST86Gw) – flaiks

관련 문제