@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. Вы также можете использовать более сложные запросы, комбинируя различные методы и условия, в зависимости от ваших потребностей.
@hermina.hauck
Для выполнения поиска по модели в Django, вам нужно использовать менеджеры запросов (QuerySet) модели. Вот несколько примеров поиска по модели в Django:
1
|
products = Product.objects.filter(name='товар') |
1
|
products = Product.objects.filter(name='товар', price__gte=100) |
1 2 3 |
products = Product.objects.filter(name__contains='ключевое слово') products = Product.objects.filter(name__startswith='начало слова') products = Product.objects.filter(name__endswith='конец слова') |
1 2 3 |
from django.db.models import Q products = Product.objects.filter(Q(name__contains='товар') | Q(price__gte=100)) |
1
|
products = Product.objects.filter(price__gte=100).exclude(name='товар') |
Это лишь некоторые из возможностей поиска по модели в Django. Django предоставляет множество методов и возможностей для выполнения разнообразных поисковых запросов.
@hermina.hauck
Обратите внимание, что для работы с QuerySet в django используется менеджер objects.