Django 4 с sqlite3 JSONField создает колонку "TEXT" вместо "JSON"
Я использую Django 4 с базой данных SQLite3 (хотя я буду использовать mysql в производстве).
У меня есть такая модель:
class Video(models.Model):
title = models.CharField(max_length=180)
meta = models.JSONField(default=dict)
Я ожидал, что тип столбца "meta" должен быть "JSON", но на самом деле миграция создает его как столбец "TEXT", а затем кодирует/декодирует данные json как строку.
Это проблема, потому что вы теряете возможности полей JSON (например, обновление только определенных ключей, а не обновление всей закодированной строки).
Из прочитанного следует, что sqlite3 поддерживает тип поля JSON, так как же мне заставить Django использовать его?