Sobes.tech
Назад к вопросам
Junior — Middle
59

Использовали ли вы JSONField в Django для хранения структурированных данных в модели?

Компании, где спрашивали
АэрофлотАэрофлот

Ответ от нейросети

sobes.tech AI

В Django JSONField используется для хранения структурированных данных в формате JSON прямо в базе данных. Это удобно, когда структура данных может быть гибкой и не фиксированной, например, для хранения настроек пользователя, метаданных или других вложенных данных.

Пример использования в модели:

from django.db import models

class Product(models.Model):
    name = models.CharField(max_length=100)
    attributes = models.JSONField(default=dict)  # Здесь можно хранить произвольные данные

# Пример создания объекта с вложенными данными
product = Product.objects.create(
    name='Телефон',
    attributes={'color': 'черный', 'memory': '128GB', 'features': ['5G', 'NFC']}
)

JSONField поддерживается в PostgreSQL, MySQL и SQLite (начиная с Django 3.1). Он позволяет делать запросы по ключам JSON, что удобно для фильтрации.