How to search query in Django JSONField Model?

I have been trying to resolve this issue for the past 2 days, but I have not found a solution yet. I have scoured the internet, and ChatGPT, and attempted over 50 methods, but nothing seems to work.

Our Model:

class Order(models.Model):
    Payment_Refrence = models.CharField(max_length=300, unique=True)
    Order_ID = models.CharField(max_length=300, unique=True, default=unique_order_id)
    OrderData = models.JSONField(max_length=100000, null=True, blank=True)

Order Data Creation

OrderDataCreate = {
    'product_title': Product.title,
    'product_description': Product.description,
    'product_plans': ProductPlans,
    'package': Package_name,

Dump Data:

CreateOrder = Order.objects.create(

After Dump Data in Database ~ code from Database

"{\"product_title\": \"Redis API Implementition\", \"product_description\": \"Description Here\",}"

I have implemented this to search:

OrderData = Order.objects.all().order_by('-created_at')
if SearchQuery:
    SearchQuery = inpvalidator.anyname_validation(SearchQuery)
    search_filters = Q(OrderData__contains={'product_title': SearchQuery})
    OrderData = OrderData.filter(search_filters)
    print(f'Search Filtered=======>{OrderData.count()}')

I even tried this:

OrderData = OrderData.filter(OrderData__product_title__icontains=SearchQuery)

It might help if you start out by describing what it is you’re looking to find in your query. And, include the rest of the view where you’re trying to do this.

Btw, I want to display order history by searching. Order_ID search works well, but query in Title (Title is JSON field) is not working.

def order_page(request):
    if request.method == 'GET':
            context = {
                'title': 'My Orders'
            OrderData = Order.objects.all().order_by('-created_at')

            # Handle search query
            SearchQuery = request.GET.get('search')
            if SearchQuery:
                context['search_value'] = SearchQuery
                SearchQuery = inpvalidator.anyname_validation(SearchQuery)
                # search with id and orderproof 
                OrderData = OrderData.filter(
                    Q(Order_ID__icontains=SearchQuery) | Q(OrderData__product_title__icontains=SearchQuery)
            # Pagination
            page = request.GET.get('page', 1)
            page = inpvalidator.id_validation(page)
            paginator = Paginator(OrderData, 10)
            paginated_orders =

            # Serializer
            OrderSerializer = OrderPageSerializer(paginated_orders, many=True).data
            context['orders'] = OrderSerializer

            return render(request, 'client_site/orders.html', context)
        except Exception as e:
            return JsonResponse({'message': f'Error: {e}'})
        return JsonResponse({'message': 'Methods not allowed'})

Here is the Order Page: