Back to questions
Junior — Middle
63
Каким образом реализуются индексы в ORM Django?
Answer from AI
sobes.tech AI
В Django индексы реализуются на уровне модели через мета-класс Meta. Для создания индекса можно использовать атрибуты index_together, unique_together или новый более гибкий indexes, где можно явно указать тип индекса и поля.
Пример создания индекса:
from django.db import models
from django.db.models import Index
class Product(models.Model):
name = models.CharField(max_length=100)
category = models.CharField(max_length=50)
class Meta:
indexes = [
Index(fields=['name', 'category'], name='name_category_idx'),
]
При миграции Django создаст соответствующий индекс в базе данных. Индексы помогают ускорить поиск и сортировку по указанным полям.
Также можно создавать уникальные индексы с помощью unique=True в поле модели или unique_together для нескольких полей.