У меня есть модель Sample
, поиск в которой осуществляется через веб-интерфейс, и QuerySet критериев соответствия. Образцы объектов возвращаются, как и ожидалось.
модель
class Sample(models.Model):
sample_name = models.CharField('Sample', max_length=16)
HTML-форма
<form name="sample_search_form" method="GET" action="{% url 'search' %}">
<input id="sample_search_box" type="text" name="sample_search_box" placeholder="Search samples..." >
<button id="sample_search_submit" type="submit" >Submit</button>
</form>
вид
def search(request):
if request.GET:
search_term = request.GET['sample_search_box']
results = Sample.objects.filter(sample_name__icontains=search_term)
return render_to_response('samples/sample_search_list.html', {'results': results})
return render_to_response('samples/sample_search_list.html', {'results': results, 'search': results})
Я также хотел бы вернуть первичный ключ моделей для дополнительных целей.
Я попробовал варианты ниже.
results = Sample.objects.filter(sample_name__icontains=search_term).get(sample_name_id=pk)
Но я получаю ошибку, похожую на:
name 'pk' is not defined
Как я могу защитить метод фильтрации, как написано И также получить значение первичного ключа?
Заранее спасибо.