PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Acelere o Django e o Postgres com um campo JSON simples


Django suporta JSONField para PostgreSQL, aqui está o exemplo
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

você também pode ler mais sobre isso neste link https://docs.djangoproject.com/en/dev/ref/contrib/postgres/fields/#jsonfield

também você pode experimentar o HStoreField no postgresql, o HStoreField é mais rápido que o JSONField, para usar o HSTORE você precisa habilitar a extensão Hstore no Postgresql
postgres_prompt=> create extension hstore;

no seu arquivo de migração você precisa adicionar isso
from django.contrib.postgres.operations import HStoreExtension

class Migration(migrations.Migration):
    ...

    operations = [
        HStoreExtension(),
        ...
    ]

aqui está um exemplo de uso do Hstore em seus modelos:
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

para saber mais sobre isso acesse o l:https://docs.djangoproject.com/en/1.9/ref/contrib/postgres/fields/#hstorefield