Как получить все объекты в базе данных Django, связанные с текстовым полем id, используя поисковую систему, поиск ничего не отображает
У меня есть модель Item, которая принимает изображения, id пациента (текстовое поле), id изображения (pk).
Я хочу выполнить поиск по идентификатору пациента и получить всю базу данных, связанную с этим идентификатором пациента .
note: i have multiple objects related to patient id not only one object
Пример :
| Name | patient id (text) | info like : images, date, imageid |
|---|---|---|
| steve | 18181 | info 1 |
| steve | 18181 | info2 |
senerio: i have search box that i should write in it patient id then it searches the database and get all the objects that have the same patient id with their info.
проблема в том, что я много раз пытался добиться этого, но каждый раз никаких результатов, страница пуста, данные не отображаются
Я пробовал Item.object.filter(), prefect, select_related, contains и icontains - результат один и тот же
.
Models.py
class Item(models.Model):
Name = models.TextField(max_length=191)
category = models.TextField(max_length=50)
Date = models.TextField(max_length=500, null=False)
image = models.ImageField(upload_to=user_directory_path, null=True, blank=True)
patientid= models.TextField()
imageid=models.BigAutoField(primary_key=True)
Index.html
<div>
<br><br><br><br>
<div class="flex-container text-center">
<form method="GET" value="{{request.GET.s}}">
<input type="text" name="s" size="80" value="{{ request.GET.s }}" placeholder="Search "/>
<i class="fa fa-search" style="color: #5e9e9f;"><input style="background-color: #5e9e9f;" type="submit" name="submit" value="search"/></i>
</form>
</div>
<div>
{% if submit == 's' and request.GET.s != '' %}
{% if context %}
<br>
{% for received_memo in context %}
<div class="text-center">
<br>
<a href=""><h1 class="name text-light">{{ received_memo.Name }}</h1></a>
</div>
{% endfor %}
{% else %}
<div class="results">
<br>
No search results for this search.
</div>
{% endif %}
{% endif %}
</div>
</div>
Views.py
def search(request):
if request.method == 'GET':
query = request.GET.get('s')
if query is not None:
received_memo = Item.object.filter(patientid=query)
context = {
'received_memo': received_memo,
}
return render(request, 'project/inde2.html', context)
Я пытался искать по patientid который является текстом и затем все связанные объекты с этим id показываются не работают страница пустая ничего не показывает