Models.py
class Photo(models.Model):
name = models.CharField(max_length=255)
keyword = models.CharField(max_lenght=300)
此处的关键字字段关键字以逗号分隔的字符串形式存储 格式
如:医疗照片,人体,身体。
现在我正在尝试在逗号分隔的字符串上搜索照片。
这样做我写下面的查询
keysearch = request.GET.get('format')
qr = Q(keyword__icontains=keysearch)
searched_image = Photo.objects.filter(qr).all()
我通过获取方法获取关键字值,如下所示
{% for keyword in keywords %}<h5><a href="{% url 'keywordSearch' %}?format=keyword"><span class="label label-default">{{keyword}}</span></a>{%endfor%}
这是url
url(r'^keyword_search_result/$',views.keywordSearch,name = 'keywordSearch')
这里提到for循环中的关键字实际上是list of keywords
从以下视图中获取
def ImageKeywords(request,image_id):
image_keywords = get_object_or_404(Photo,pk = image_id)
keywords = image_keywords.keyword.split(',')
return render_to_response('search/keyword_search_results.html',{'keywords': keywords},context_instance = RequestContext(request))
现在问题是,我的search results
页面中没有显示任何结果。我的查询中是否有任何问题?
答案 0 :(得分:0)
你必须像这样设置a href
<a href="{% url 'keywordSearch' %}?format={{keyword}}">