Есть ли способ использовать что-то вроде p=product.objects.filter(category=home)?

У меня есть несколько категорий, которые я могу отфильтровать по первичному ключу следующим образом :

p=product.objects.filter(category=2)

но я не хочу заморачиваться с первичными ключами, я хочу фильтровать по точному названию категории, а не по первичному ключу.

У меня есть такие категории:

изображение

есть ли способ использовать что-то вроде p=product.objects.filter(category=home) ?

модели:

class category(models.Model):

    name=models.CharField(max_length=255, db_index=True)

    def __str__(self):
        return self.name

class product(models.Model):
     
    category = models.ForeignKey(category, related_name='products',on_delete=models.CASCADE) 
    image=models.CharField(max_length=500)
    description=models.CharField(max_length=500)
    price=models.CharField(max_length=50)
    buy=models.CharField(max_length=100)
 

Вы можете .filter(…) [Django-doc] с:

product.objects.filter(category__name='home')

Примечание: Модели в Django пишутся в PascalCase, а не snake_case, поэтому вы можете переименовать модель из product в Product.

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