Django - Цепочка запросов не возвращает ничего, когда должна
С этой точки зрения, когда предоставляется hashtag only, все в порядке, когда sortby - это что угодно, кроме обработанных случаев, все в порядке, когда есть hashtag И любой обработанный sortBy (например, Popular) ничего не возвращается, когда не должно, потому что Popular делает только сортировку, а тексты уже существуют, потому что они возвращаются, когда указан только hashtag, Вот вид:
@login_required
def get_texts(request):
updated_texts = []
sortBy = request.GET.get('sortBy')
hashtag = request.GET.get('hashtag')
search_query = request.GET.get('search', '').strip()
base_query = HiveText.objects.all()
if hashtag:
base_query = base_query.filter(caption__icontains=f"#{hashtag}")
if search_query:
base_query = base_query.filter(caption__icontains=search_query)
if sortBy == "Popular":
texts = base_query.order_by("-like_counter", "-created_date")
elif sortBy == "iMessages":
texts = base_query.filter(capturetype="iMessages").order_by("-created_date")
elif sortBy == "Dating Apps":
texts = base_query.filter(capturetype="Dating Apps").order_by("-created_date")
elif sortBy == "Social Media":
texts = base_query.filter(capturetype="Social Media").order_by("-created_date")
else:
texts = base_query.order_by("-created_date")
texts = texts[:20]
for text in texts:
try:
image_filenames = json.loads(text.content)
except json.JSONDecodeError:
image_filenames = []
updated_texts.append({
'item': text,
'image_filenames': image_filenames,
})
return render(
request,
"hive_text.html",
{
"texts": updated_texts,
},
)```