我是django和haystack的新手。任何人都可以帮我这个代码。 我在models.py文件中有以下模型
class UserProfile(models.Model):
street_address = models.CharField(max_length=100, blank=False, null=False)
city = models.CharField(max_length=100, blank=False, null=False)
zip_code = models.PositiveIntegerField(blank=False, null=True)
class UserProfessional(models.Model):
userprofile = models.ForeignKey(UserProfile, unique=True, related_name = 'user_professionals')
company = models.CharField(max_length=200, blank=False, null=False)
professional_type = models.CharField(max_length=50, choices=PROFESSIONAL_TYPE)
bio_exp = models.CharField(max_length=300)
搜索条件为zip_code,city和state。所以我们可以通过邮政编码进行搜索,但结果应该显示公司和bio_exp。
答案 0 :(得分:1)
我希望你创建了一个SearchIndex,它将索引UserProfessional,而不是UserProfile。
class UserProfessionalIndex(indexes.SearchIndex, indexes.Indexable):
userprofile = indexes.CharField(model_attr='userprofile')
def get_model(self):
return UserProfessional
并在搜索模板中指定
{{ object.userprofile.zip_code }}
{{ object. bio_exp }}
现在搜索zip_code和其他参数,您将从UserProfessional和其他字段返回bio_exp。
希望这有帮助。