Как отобразить результат запроса в django

У меня есть приложение под названием marketplace и в приложении есть модель под названием Product, из которой я хочу получить данные, чтобы отобразить их в моем html файле, но похоже, что это не работает.

Вот модель:

class Product(models.Model):
    product_id = models.AutoField(primary_key=True)
    inventory = models.ForeignKey(ProductInventory, on_delete=models.CASCADE)
    product_name = models.CharField(max_length=30)
    product_description = models.CharField(max_length=250)
    price = models.DecimalField(max_digits=10, decimal_places=2)
    subscription_length = models.IntegerField()

Вот код, используемый в файле views.py

def product_page(request):
    product_description = Product.objects.raw('SELECT product_description FROM marketplace_product WHERE product_name = "abcdef" ')
    context = {'product_description': product_description}
    return render(request, 'main/product-page.html', context)

Вот конечный результат, как вы можете видеть, он отображает запрос, а не данные результата. enter image description here

Как сделать так, чтобы он отображал результат SQL запроса, а не сам запрос. Спасибо

Во-первых, вы действительно должны использовать raw, только если вы делаете запрос, который не может быть выполнен с помощью orm. То, что вы хотели, было

product_description = Product.objects.filter(product_name='abcdef').values('product_description')

Во-вторых, вы передаете в шаблон набор запросов. Вам нужно что-то с ним сделать... может быть, создать список с описаниями всех товаров, перебирая кверисет?

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