현재 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)
어떤 아이디어?
내가 필드에서 사용하는 항목의 조합에 상관없이 모두 비어 있어도 아무 것도 반환하지 않습니다. – flaiks
이 페이지의 전체보기를 붙여 넣을 수 있습니까? 필터가 아무 것도 반환하지 않는 데는 여러 가지 이유가 있지만 자세한 정보없이 문제를 해결할 수는 없습니다. – patrickn
이것은 전체보기입니다 [link] (http://pastebin.com/rcST86Gw) – flaiks