📝 Django

Базы данных в Django

P
Автор
Pyland
📅
Опубликовано
30.06.2026
⏱️
Время чтения
1 мин
👁️
Просмотров
71
🌱
Уровень
Начальный
🐦 💼 ✈️

Охватываемые темы: Поддерживаемые СУБД, Настройка SQLite (по умолчанию), Настройка PostgreSQL, Через переменную окружения (рекомендуется).

Поддерживаемые СУБД

Django поддерживает несколько баз данных из коробки:

База данных Пакет Применение
SQLite встроен разработка
PostgreSQL psycopg2 продакшн
MySQL/MariaDB mysqlclient продакшн
Oracle cx_Oracle корпоратив

Настройка SQLite (по умолчанию)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

Настройка PostgreSQL

pip install psycopg2-binary
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydb',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Через переменную окружения (рекомендуется)

pip install dj-database-url
import dj_database_url

DATABASES = {
    'default': dj_database_url.config(
        default='sqlite:///db.sqlite3',
        conn_max_age=600,
    )
}

.env:

DATABASE_URL=postgresql://user:pass@localhost/mydb

Несколько баз данных

DATABASES = {
    'default': {'ENGINE': 'django.db.backends.postgresql', ...},
    'analytics': {'ENGINE': 'django.db.backends.mysql', ...},
}
# Использование
Task.objects.using('analytics').all()

Почему PostgreSQL для продакшна

  • Полная поддержка транзакций
  • JSON поля (JSONField)
  • Полнотекстовый поиск
  • Надёжность и масштабирование

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

pytest-django: тестирование Django

Охватываемые темы: Установка, @pytest.mark.djangodb, Фикстуры, Тестирование views.

📅 30.06.2026 👁️ 132
📝

Что такое ORM

ORM (Object-Relational Mapping) — технология, позволяющая работать с базой данных через объекты Python вместо SQL.

📅 30.06.2026 👁️ 126
📝

SQLite в Python: персистентная память для агентов

SQLite — встроенная в Python реляционная база данных. Хранит данные в одном файле, не требует...

📅 30.06.2026 👁️ 84

Понравилась статья?

Подпишитесь на наши обновления и получайте новые статьи первыми. Развивайтесь вместе с PyLand!