Django hỗ trợ JSONField cho PostgreSQL, đây là ví dụ
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
bạn cũng có thể đọc thêm về nó trên liên kết này https://docs.djangoproject.com/en/dev/ref/contrib/postgres/fields/#jsonfield
Ngoài ra, bạn có thể dùng thử HStoreField trong postgresql, HStoreField nhanh hơn JSONField, để sử dụng HSTORE, bạn cần bật tiện ích mở rộng Hstore trong Postgresql
postgres_prompt=> create extension hstore;
trong tệp di chuyển của bạn, bạn cần thêm cái này
from django.contrib.postgres.operations import HStoreExtension
class Migration(migrations.Migration):
...
operations = [
HStoreExtension(),
...
]
đây là một ví dụ về việc sử dụng Hstore trong các mô hình của bạn:
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
để biết thêm về điều này, hãy truy cập l: https://docs.djangoproject.com/en/1.9/ref/contrib/postgres/fields/#hstorefield