Récemment mysql a introduit les champs JSON .
Même si vous n'avez pas la dernière version de mysql, il est toujours possible d'enregistrer des données JSON dans un champ varchar et c'est une solution assez populaire prise en charge par de nombreux bibliothèques tierces qui fournissent le support JSON pour Django.
La raison pour laquelle une bibliothèque tierce est nécessaire est que Django n'a pas de JSONField intégré. Un a été ajouté récemment pour Postgresql mais mysql est toujours à la traîne.
Une alternative qui n'implique pas mysql consiste à utiliser redis. Django a un excellent support pour redis et comme vous le savez, les hachages redis sont très similaires aux dictionnaires python. La prise en charge ORM nécessite des bibliothèques tierces comme avec les champs mysql json. Cependant, il est plus simple de considérer redis comme un dictionnaire python qui peut être conservé d'une session à l'autre et interrogé très rapidement. Enfin et surtout, le hachage n'est que la pointe de l'iceberg.