Ответ
Основной способ взаимодействия с базами данных в Django — использование встроенного ORM (Object-Relational Mapping). Этот подход позволяет разработчикам работать с данными как с Python-объектами, абстрагируясь от написания SQL-запросов напрямую.
Почему это удобно?
- Продуктивность: Код пишется быстрее и в объектно-ориентированном стиле.
- Переносимость: Легко переключаться между различными СУБД (PostgreSQL, MySQL, SQLite), не меняя код.
- Безопасность: ORM помогает предотвратить SQL-инъекции.
Процесс работы состоит из трех ключевых шагов:
-
Определение моделей в файле
models.pyприложения. Модель — это Python-класс, который представляет таблицу в базе данных.from django.db import models class Product(models.Model): name = models.CharField(max_length=200) price = models.DecimalField(max_digits=10, decimal_places=2) is_available = models.BooleanField(default=True) def __str__(self): return self.name -
Создание и применение миграций. Миграции — это файлы, которые описывают изменения в структуре БД.
# Создает файлы миграций на основе изменений в моделях python manage.py makemigrations # Применяет миграции к базе данных, создавая или изменяя таблицы python manage.py migrate -
Взаимодействие с данными через менеджер
objects.# Создание объекта (INSERT) new_product = Product.objects.create(name='Laptop', price=1200.00) # Получение объектов (SELECT) laptops = Product.objects.filter(name__icontains='Laptop') # Обновление объекта (UPDATE) product_to_update = Product.objects.get(id=1) product_to_update.price = 1150.00 product_to_update.save() # Удаление объекта (DELETE) Product.objects.get(id=2).delete()
Настройки подключения к базе данных находятся в словаре DATABASES в файле settings.py.