Как искать запрос в модели Django JSONField?

Я пытаюсь решить эту проблему уже 2 дня, но пока не нашел решения. Я перерыл весь интернет, форум Django и ChatGPT, перепробовал более 50 методов, но ничего не помогает.

Наша модель:

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)

Создание данных заказа

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

Выгрузка данных:

CreateOrder = Order.objects.create(
    OrderData=json.dumps(OrderDataCreate),
)

После сброса данных в базу данных ~ код из базы данных

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

Я реализовал это для поиска:

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()}')

Я даже попробовал вот это:

OrderData = OrderData.filter(OrderData__product_title__icontains=SearchQuery)

Я не получаю никаких результатов.

Я не уверен, каково содержимое переменной SearchQuery, но следующий фильтр должен работать согласно официальной документации:

OrderData__product_title__icontains=SearchQuery

Вы можете дважды проверить содержимое переменной SearchQuery

Вернуться на верх