PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Accélérez Django et Postgres avec un simple champ JSON

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