Django supporte JSONField pour PostgreSQL, voici l'exemple
from django.contrib.postgres.fields import JSONField
from django.db import models
class Dog(models.Model):
name = models.CharField(max_length=200)
data = JSONField()
def __str__(self): # __unicode__ on Python 2
return self.name
vous pouvez également en savoir plus sur ce lien https ://docs.djangoproject.com/en/dev/ref/contrib/postgres/fields/#jsonfield
vous pouvez également essayer HStoreField dans postgresql, HStoreField est plus rapide que JSONField, pour utiliser HSTORE, vous devez activer l'extension Hstore dans Postgresql
postgres_prompt=> create extension hstore;
dans votre fichier de migration, vous devez ajouter ceci
from django.contrib.postgres.operations import HStoreExtension
class Migration(migrations.Migration):
...
operations = [
HStoreExtension(),
...
]
voici un exemple d'utilisation de Hstore dans vos modèles :
from django.contrib.postgres.fields import HStoreField
from django.db import models
class Dog(models.Model):
name = models.CharField(max_length=200)
data = HStoreField()
def __str__(self): # __unicode__ on Python 2
return self.name
pour en savoir plus à ce sujet, rendez-vous sur l :https ://docs.djangoproject.com/en/1.9/ref/contrib/postgres/fields/#hstorefield