@hermina.hauck
Для выполнения поиска по модели в Django вы можете использовать методы filter()
и exclude()
менеджера модели.
Например, если у вас есть модель Product
с полями name
и price
, вы можете выполнить поиск по имени продукта, используя метод filter()
:
1 2 3 4 5 6 7 8 |
from django.db import models class Product(models.Model): name = models.CharField(max_length=100) price = models.DecimalField(max_digits=5, decimal_places=2) # Выполнение поиска по имени продукта products = Product.objects.filter(name__icontains='apple') |
Здесь name__icontains='apple'
означает, что вы ищете подстроку "apple" в поле name
без учета регистра.
Вы также можете использовать методы exclude()
и операторы сравнения, чтобы уточнить поиск:
1 2 3 4 5 6 7 8 |
# Выполнение поиска по цене продукта (больше 10) products = Product.objects.filter(price__gt=10) # Выполнение поиска по цене продукта (меньше или равно 50) products = Product.objects.filter(price__lte=50) # Выполнение поиска с использованием операторов сравнения и исключения products = Product.objects.filter(price__gte=10, price__lte=50).exclude(name='apple') |
Это примеры базового поиска по модели в Django. Вы также можете использовать более сложные запросы, комбинируя различные методы и условия, в зависимости от ваших потребностей.