diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-12-16 10:52:15 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-12-16 10:52:15 +0100 |
commit | 4364e8e447f511b574c30c342082b05918496bca (patch) | |
tree | effa65c83a7c98dfaf06ebe3fc13bb00b5a901b1 /ishtar_common | |
parent | 46fcb2d2354d71b53fd0f72af62b224e50370211 (diff) | |
download | Ishtar-4364e8e447f511b574c30c342082b05918496bca.tar.bz2 Ishtar-4364e8e447f511b574c30c342082b05918496bca.zip |
Gin index for data fields
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/migrations/0115_auto_20191216_1013.py | 41 | ||||
-rw-r--r-- | ishtar_common/migrations/0116_create_gist_extension.py | 17 | ||||
-rw-r--r-- | ishtar_common/migrations/0117_auto_20191216_1027.py | 28 | ||||
-rw-r--r-- | ishtar_common/models.py | 12 |
4 files changed, 97 insertions, 1 deletions
diff --git a/ishtar_common/migrations/0115_auto_20191216_1013.py b/ishtar_common/migrations/0115_auto_20191216_1013.py new file mode 100644 index 000000000..1da9e4dbd --- /dev/null +++ b/ishtar_common/migrations/0115_auto_20191216_1013.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-12-16 10:13 +from __future__ import unicode_literals + +import django.contrib.postgres.fields.jsonb +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0114_auto_20191212_1726'), + ] + + operations = [ + migrations.AlterField( + model_name='document', + name='data', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={}), + ), + migrations.AlterField( + model_name='historicalorganization', + name='data', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={}), + ), + migrations.AlterField( + model_name='historicalperson', + name='data', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={}), + ), + migrations.AlterField( + model_name='organization', + name='data', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={}), + ), + migrations.AlterField( + model_name='person', + name='data', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={}), + ), + ] diff --git a/ishtar_common/migrations/0116_create_gist_extension.py b/ishtar_common/migrations/0116_create_gist_extension.py new file mode 100644 index 000000000..cc22e3909 --- /dev/null +++ b/ishtar_common/migrations/0116_create_gist_extension.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-12-16 10:18 +from __future__ import unicode_literals + +from django.db import migrations +from django.contrib.postgres.operations import BtreeGinExtension + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0115_auto_20191216_1013'), + ] + + operations = [ + BtreeGinExtension() + ] diff --git a/ishtar_common/migrations/0117_auto_20191216_1027.py b/ishtar_common/migrations/0117_auto_20191216_1027.py new file mode 100644 index 000000000..221f24e21 --- /dev/null +++ b/ishtar_common/migrations/0117_auto_20191216_1027.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.18 on 2019-12-16 10:27 +from __future__ import unicode_literals + +import django.contrib.postgres.indexes +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0116_create_gist_extension'), + ] + + operations = [ + migrations.AddIndex( + model_name='person', + index=django.contrib.postgres.indexes.GinIndex(fields=['data'], name='ishtar_comm_data_a563fb_gin'), + ), + migrations.AddIndex( + model_name='document', + index=django.contrib.postgres.indexes.GinIndex(fields=['data'], name='ishtar_comm_data_c6da6f_gin'), + ), + migrations.AddIndex( + model_name='organization', + index=django.contrib.postgres.indexes.GinIndex(fields=['data'], name='ishtar_comm_data_36ecc0_gin'), + ), + ] diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 04ac2ef38..22b6cac33 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -52,6 +52,7 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.gis.db import models from django.contrib.postgres.fields import JSONField from django.contrib.postgres.search import SearchVectorField, SearchVector +from django.contrib.postgres.indexes import GinIndex from django.contrib.sites.models import Site from django.core.cache import cache from django.core.exceptions import ObjectDoesNotExist, ValidationError, \ @@ -1370,7 +1371,7 @@ class JsonDataField(models.Model): class JsonData(models.Model, CachedGen): - data = JSONField(default={}, db_index=True, blank=True) + data = JSONField(default={}, blank=True) class Meta: abstract = True @@ -4129,6 +4130,9 @@ class Organization(Address, Merge, OwnPerms, ValueGetter, MainItem): ("change_own_organization", "Can change own Organization"), ("delete_own_organization", "Can delete own Organization"), ) + indexes = [ + GinIndex(fields=['data']), + ] def simple_lbl(self): if self.name: @@ -4299,6 +4303,9 @@ class Person(Address, Merge, OwnPerms, ValueGetter, MainItem): class Meta: verbose_name = _("Person") verbose_name_plural = _("Persons") + indexes = [ + GinIndex(fields=['data']), + ] permissions = ( ("view_person", "Can view all Persons"), ("view_own_person", "Can view own Person"), @@ -5248,6 +5255,9 @@ class Document(BaseHistorizedItem, QRCodeItem, OwnPerms, ImageModel, ("delete_own_document", ugettext("Can delete own Document")), ) + indexes = [ + GinIndex(fields=['data']), + ] def __str__(self): return self.title |