Я пишу динамические фильтры в django для своей базы данных, где я использую приведенный ниже код, где у меня есть 2 переменные (p_type, s_type):
p_type=[]
s_type=[]
query = request.GET.get("q")
p_type =request.GET.get("p_type")
s_type = request.GET.get("s_type")
#messages.add_message(request, messages.INFO, p_type)
#messages.add_message(request, messages.INFO, s_type)
if query:
queryset_find = queryset_list.filter(
Q(FP_Item__contains=query))
context = {'object_list': queryset_find}
return render(request, 'index.html', context)
elif p_type:
queryset_find = queryset_list.filter(
Q(p_type__contains=s_type))
context = {'object_list': queryset_find}
return render(request, 'index.html', context)
else:
context = {'object_list': queryset}
return render(request, 'index.html', context)
но django возвращает ошибку в строке ниже
Q(p_type__contains=s_type))
У меня есть динамическая радиокнопка, в которой значение p_type совпадает с моей базой данных, но я получаю следующую ошибку:
Exception Type: FieldError
Exception Value:
Cannot resolve keyword 'p_type' into field. Choices are: ... (same choices which I am using with my database).
Разве это невозможно с переменным запросом? Любые другие методы?
Модель:
class RFP(models.Model):
FP_Item = models.TextField(max_length=1500)
P_63 = models.TextField(max_length=1000)
P_64 = models.TextField(max_length=1000)