diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-02 10:29:01 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:24 +0100 |
commit | 77cbfe3a5c67c5a844e87078eb4f0afb84770a97 (patch) | |
tree | ae26db373629decbc5c7fb7cd3c474c6bbc8d402 /archaeological_finds | |
parent | fe60d32657bd08770ccefb6062e4d930297d6da7 (diff) | |
download | Ishtar-77cbfe3a5c67c5a844e87078eb4f0afb84770a97.tar.bz2 Ishtar-77cbfe3a5c67c5a844e87078eb4f0afb84770a97.zip |
Small fix
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/models_finds.py | 284 |
1 files changed, 142 insertions, 142 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 5c6f0f27f..8ee742b43 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -72,11 +72,11 @@ post_delete.connect(post_save_cache, sender=MaterialType) class MaterialTypeQualityType(GeneralType): - order = models.IntegerField(_(u"Order"), default=10) + order = models.IntegerField(_("Order"), default=10) class Meta: - verbose_name = _(u"Material type quality type") - verbose_name_plural = _(u"Material type quality types") + verbose_name = _("Material type quality type") + verbose_name_plural = _("Material type quality types") ordering = ('order',) @@ -85,11 +85,11 @@ post_delete.connect(post_save_cache, sender=MaterialTypeQualityType) class ConservatoryState(HierarchicalType): - order = models.IntegerField(_(u"Order"), default=10) + order = models.IntegerField(_("Order"), default=10) class Meta: - verbose_name = _(u"Conservatory state type") - verbose_name_plural = _(u"Conservatory state types") + verbose_name = _("Conservatory state type") + verbose_name_plural = _("Conservatory state types") ordering = ('order', 'label',) @@ -98,37 +98,37 @@ post_delete.connect(post_save_cache, sender=ConservatoryState) class TreatmentType(HierarchicalType): - order = models.IntegerField(_(u"Order"), default=10) - virtual = models.BooleanField(_(u"Virtual")) - destructive = models.BooleanField(_(u"Destructive"), default=False) + order = models.IntegerField(_("Order"), default=10) + virtual = models.BooleanField(_("Virtual")) + destructive = models.BooleanField(_("Destructive"), default=False) create_new_find = models.BooleanField( - _(u"Create a new find"), default=False, - help_text=_(u"If True when this treatment is applied a new version " - u"of the object will be created.")) + _("Create a new find"), default=False, + help_text=_("If True when this treatment is applied a new version " + "of the object will be created.")) upstream_is_many = models.BooleanField( - _(u"Upstream is many"), default=False, + _("Upstream is many"), default=False, help_text=_( - u"Check this if for this treatment from many finds you'll get " - u"one.")) + "Check this if for this treatment from many finds you'll get " + "one.")) downstream_is_many = models.BooleanField( - _(u"Downstream is many"), default=False, + _("Downstream is many"), default=False, help_text=_( - u"Check this if for this treatment from one find you'll get " - u"many.")) + "Check this if for this treatment from one find you'll get " + "many.")) change_reference_location = models.BooleanField( - _(u"Change reference location"), default=False, - help_text=_(u"The treatment change the reference location.")) + _("Change reference location"), default=False, + help_text=_("The treatment change the reference location.")) change_current_location = models.BooleanField( - _(u"Change current location"), default=False, - help_text=_(u"The treatment change the current location.")) + _("Change current location"), default=False, + help_text=_("The treatment change the current location.")) restore_reference_location = models.BooleanField( - _(u"Restore the reference location"), default=False, - help_text=_(u"The treatment change restore reference location to the " - u"current location.")) + _("Restore the reference location"), default=False, + help_text=_("The treatment change restore reference location to the " + "current location.")) class Meta: - verbose_name = _(u"Treatment type") - verbose_name_plural = _(u"Treatment types") + verbose_name = _("Treatment type") + verbose_name_plural = _("Treatment types") ordering = ('order', 'label',) @@ -138,8 +138,8 @@ post_delete.connect(post_save_cache, sender=TreatmentType) class IntegrityType(GeneralType): class Meta: - verbose_name = _(u"Integrity / interest type") - verbose_name_plural = _(u"Integrity / interest types") + verbose_name = _("Integrity / interest type") + verbose_name_plural = _("Integrity / interest types") ordering = ('label',) @@ -149,8 +149,8 @@ post_delete.connect(post_save_cache, sender=IntegrityType) class RemarkabilityType(GeneralType): class Meta: - verbose_name = _(u"Remarkability type") - verbose_name_plural = _(u"Remarkability types") + verbose_name = _("Remarkability type") + verbose_name_plural = _("Remarkability types") ordering = ('label',) @@ -159,10 +159,10 @@ post_delete.connect(post_save_cache, sender=RemarkabilityType) class BatchType(GeneralType): - order = models.IntegerField(_(u"Order"), default=10) + order = models.IntegerField(_("Order"), default=10) class Meta: - verbose_name = _(u"Batch type") - verbose_name_plural = _(u"Batch types") + verbose_name = _("Batch type") + verbose_name_plural = _("Batch types") ordering = ('order',) @@ -172,8 +172,8 @@ post_delete.connect(post_save_cache, sender=BatchType) class ObjectType(HierarchicalType): class Meta: - verbose_name = _(u"Object type") - verbose_name_plural = _(u"Object types") + verbose_name = _("Object type") + verbose_name_plural = _("Object types") ordering = ('parent__label', 'label',) @@ -182,11 +182,11 @@ post_delete.connect(post_save_cache, sender=ObjectType) class ObjectTypeQualityType(GeneralType): - order = models.IntegerField(_(u"Order"), default=10) + order = models.IntegerField(_("Order"), default=10) class Meta: - verbose_name = _(u"Object type quality type") - verbose_name_plural = _(u"Object type quality types") + verbose_name = _("Object type quality type") + verbose_name_plural = _("Object type quality types") ordering = ('order',) @@ -196,8 +196,8 @@ post_delete.connect(post_save_cache, sender=ObjectTypeQualityType) class AlterationType(HierarchicalType): class Meta: - verbose_name = _(u"Alteration type") - verbose_name_plural = _(u"Alteration types") + verbose_name = _("Alteration type") + verbose_name_plural = _("Alteration types") ordering = ('parent__label', 'label',) @@ -207,8 +207,8 @@ post_delete.connect(post_save_cache, sender=AlterationType) class AlterationCauseType(HierarchicalType): class Meta: - verbose_name = _(u"Alteration cause type") - verbose_name_plural = _(u"Alteration cause types") + verbose_name = _("Alteration cause type") + verbose_name_plural = _("Alteration cause types") ordering = ('parent__label', 'label',) @@ -218,8 +218,8 @@ post_delete.connect(post_save_cache, sender=AlterationCauseType) class TreatmentEmergencyType(GeneralType): class Meta: - verbose_name = _(u"Treatment emergency type") - verbose_name_plural = _(u"Treatment emergency types") + verbose_name = _("Treatment emergency type") + verbose_name_plural = _("Treatment emergency types") ordering = ('label',) @@ -229,8 +229,8 @@ post_delete.connect(post_save_cache, sender=TreatmentEmergencyType) class CommunicabilityType(HierarchicalType): class Meta: - verbose_name = _(u"Communicability type") - verbose_name_plural = _(u"Communicability types") + verbose_name = _("Communicability type") + verbose_name_plural = _("Communicability types") ordering = ('parent__label', 'label',) @@ -239,11 +239,11 @@ post_delete.connect(post_save_cache, sender=CommunicabilityType) class CheckedType(GeneralType): - order = models.IntegerField(_(u"Order"), default=10) + order = models.IntegerField(_("Order"), default=10) class Meta: - verbose_name = _(u"Checked type") - verbose_name_plural = _(u"Checked types") + verbose_name = _("Checked type") + verbose_name_plural = _("Checked types") ordering = ('order',) @@ -291,20 +291,20 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, GeoItem, context_record = models.ForeignKey( ContextRecord, related_name='base_finds', verbose_name=_("Context Record")) - discovery_date = models.DateField(_(u"Discovery date (exact or TPQ)"), + discovery_date = models.DateField(_("Discovery date (exact or TPQ)"), blank=True, null=True) - discovery_date_taq = models.DateField(_(u"Discovery date (TAQ)"), + discovery_date_taq = models.DateField(_("Discovery date (TAQ)"), blank=True, null=True) - batch = models.ForeignKey(BatchType, verbose_name=_(u"Batch/object"), + batch = models.ForeignKey(BatchType, verbose_name=_("Batch/object"), on_delete=models.SET_NULL, blank=True, null=True) - index = models.IntegerField(u"Index", default=0) - material_index = models.IntegerField(_(u"Material index"), default=0) + index = models.IntegerField("Index", default=0) + material_index = models.IntegerField(_("Material index"), default=0) topographic_localisation = models.CharField( - _(u"Point of topographic reference"), blank=True, null=True, + _("Point of topographic reference"), blank=True, null=True, max_length=120) # gis - line = models.LineStringField(_(u"Line"), blank=True, null=True) + line = models.LineStringField(_("Line"), blank=True, null=True) cache_short_id = models.TextField( _("Short ID"), blank=True, default="", db_index=True, help_text=_("Cached value - do not edit")) @@ -326,14 +326,14 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, GeoItem, objects = UUIDModelManager() class Meta: - verbose_name = _(u"Base find") - verbose_name_plural = _(u"Base finds") + verbose_name = _("Base find") + verbose_name_plural = _("Base finds") permissions = ( - ("view_basefind", u"Can view all Base finds"), - ("view_own_basefind", u"Can view own Base find"), - ("add_own_basefind", u"Can add own Base find"), - ("change_own_basefind", u"Can change own Base find"), - ("delete_own_basefind", u"Can delete own Base find"), + ("view_basefind", "Can view all Base finds"), + ("view_own_basefind", "Can view own Base find"), + ("add_own_basefind", "Can add own Base find"), + ("change_own_basefind", "Can change own Base find"), + ("delete_own_basefind", "Can delete own Base find"), ) indexes = [ GinIndex(fields=['data']), @@ -501,7 +501,7 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, GeoItem, return self.short_id() def full_label(self): - return self._real_label() or self._temp_label() or u"" + return self._real_label() or self._temp_label() or "" def material_type_label(self): find = self.get_last_find() @@ -661,8 +661,8 @@ def post_save_basefind(sender, **kwargs): post_save.connect(post_save_basefind, sender=BaseFind) -WEIGHT_UNIT = (('g', _(u"g")), - ('kg', _(u"kg")),) +WEIGHT_UNIT = (('g', _("g")), + ('kg', _("kg")),) class FindBasket(Basket, MainItem, ValueGetter): @@ -673,16 +673,16 @@ class FindBasket(Basket, MainItem, ValueGetter): QUICK_ACTIONS = [ QuickAction( url="findbasket-qa-duplicate", icon_class="fa fa-clone", - text=_(u"Duplicate"), target="one", + text=_("Duplicate"), target="one", rights=['view_find', 'view_own_find']), ] class Meta: - verbose_name = _(u"Basket") + verbose_name = _("Basket") ordering = ('label', ) permissions = ( - ("view_find", u"Can view all Finds"), - ("view_own_find", u"Can view own Find"), + ("view_find", "Can view all Finds"), + ("view_own_find", "Can view own Find"), ) def get_values(self, prefix='', no_values=False, filtr=None, **kwargs): @@ -710,19 +710,19 @@ class FindBasket(Basket, MainItem, ValueGetter): user.pk for user in self.shared_write_with.all()]: actions = [ (reverse("select_itemsinbasket", args=[self.pk]), - _(u"Manage basket"), + _("Manage basket"), "fa fa-shopping-basket", "", "", False), ] can_edit_find = self.can_do(request, 'change_find') if can_edit_find: actions += [ (reverse('findbasket-add-treatment', args=[self.pk]), - _(u"Add treatment"), "fa fa-flask", "", "", False), + _("Add treatment"), "fa fa-flask", "", "", False), ] if self.can_do(request, "add_treatmentfile"): actions += [ (reverse('findbasket-add-treatmentfile', args=[self.pk]), - _(u"Add treatment file"), "fa fa-file-text-o", "", "", False), + _("Add treatment file"), "fa fa-file-text-o", "", "", False), ] if can_edit_find: @@ -841,31 +841,31 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, 'base_finds__context_record__operation__code_patriarche': _( "Operation (code)" ), - 'base_finds__context_record__town__name': _(u"Town"), + 'base_finds__context_record__town__name': _("Town"), 'base_finds__context_record__operation__common_name': _( "Operation (name)" ), 'base_finds__context_record__archaeological_site__name': IshtarSiteProfile.get_default_site_label, - 'base_finds__context_record__parcel': _(u"Parcel"), - 'base_finds__batch': _(u"Batch"), - 'base_finds__comment': _(u"Base find - Comment"), - 'base_finds__description': _(u"Base find - Description"), - 'base_finds__topographic_localisation': _(u"Base find - " - u"Topographic localisation"), - 'base_finds__special_interest': _(u"Base find - Special interest"), + 'base_finds__context_record__parcel': _("Parcel"), + 'base_finds__batch': _("Batch"), + 'base_finds__comment': _("Base find - Comment"), + 'base_finds__description': _("Base find - Description"), + 'base_finds__topographic_localisation': _("Base find - " + "Topographic localisation"), + 'base_finds__special_interest': _("Base find - Special interest"), 'base_finds__discovery_date': _( - u"Base find - Discovery date (exact or TPQ)"), + "Base find - Discovery date (exact or TPQ)"), 'base_finds__discovery_date_taq': _( - u"Base find - Discovery date (TAQ)"), - 'container__cached_label': _(u"Current container"), - 'container_ref__cached_label': _(u"Reference container"), - 'datings__period__label': _(u"Periods"), - 'cached_periods': _(u"Periods"), - 'material_types__label': _(u"Material types"), - 'cached_materials': _(u"Material types"), - 'object_types__label': _(u"Object types"), - 'cached_object_types': _(u"Object types"), + "Base find - Discovery date (TAQ)"), + 'container__cached_label': _("Current container"), + 'container_ref__cached_label': _("Reference container"), + 'datings__period__label': _("Periods"), + 'cached_periods': _("Periods"), + 'material_types__label': _("Material types"), + 'cached_materials': _("Material types"), + 'object_types__label': _("Object types"), + 'cached_object_types': _("Object types"), } EXTRA_FULL_FIELDS = [ @@ -1464,15 +1464,15 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, QA_EDIT, QuickAction( url="find-qa-duplicate", icon_class="fa fa-clone", - text=_(u"Duplicate"), target="one", + text=_("Duplicate"), target="one", rights=['change_find', 'change_own_find']), QuickAction( url="find-qa-basket", icon_class="fa fa-shopping-basket", - text=_(u"Basket"), target="many", + text=_("Basket"), target="many", rights=['change_find', 'change_own_find']), QuickAction( url="find-qa-packaging", icon_class="fa fa-gift", - text=_(u"Packaging"), target="many", + text=_("Packaging"), target="many", rights=['change_find', 'change_own_find'], module='warehouse' ), @@ -1538,30 +1538,30 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, manufacturing_place = models.TextField( _("Manufacturing place"), blank=True, default="") material_types = models.ManyToManyField( - MaterialType, verbose_name=_(u"Material types"), related_name='finds', + MaterialType, verbose_name=_("Material types"), related_name='finds', blank=True ) material_type_quality = models.ForeignKey( MaterialTypeQualityType, - verbose_name=_(u"Material type quality"), related_name='finds', + verbose_name=_("Material type quality"), related_name='finds', on_delete=models.SET_NULL, blank=True, null=True ) material_comment = models.TextField( _("Comment on the material"), blank=True, default="") - volume = models.FloatField(_(u"Volume (l)"), blank=True, null=True) - weight = models.FloatField(_(u"Weight"), blank=True, null=True) - weight_unit = models.CharField(_(u"Weight unit"), max_length=4, + volume = models.FloatField(_("Volume (l)"), blank=True, null=True) + weight = models.FloatField(_("Weight"), blank=True, null=True) + weight_unit = models.CharField(_("Weight unit"), max_length=4, blank=True, null=True, choices=WEIGHT_UNIT) - find_number = models.IntegerField(_(u"Find number"), blank=True, null=True) + find_number = models.IntegerField(_("Find number"), blank=True, null=True) upstream_treatment = models.ForeignKey( "Treatment", blank=True, null=True, related_name='downstream', on_delete=models.SET_NULL, - verbose_name=_(u"Upstream treatment")) + verbose_name=_("Upstream treatment")) downstream_treatment = models.ForeignKey( "Treatment", blank=True, null=True, related_name='upstream', - verbose_name=_(u"Downstream treatment"), on_delete=models.SET_NULL) - datings = models.ManyToManyField(Dating, verbose_name=_(u"Dating"), + verbose_name=_("Downstream treatment"), on_delete=models.SET_NULL) + datings = models.ManyToManyField(Dating, verbose_name=_("Dating"), related_name='find') cultural_attributions = models.ManyToManyField( CulturalAttributionType, verbose_name=_("Cultural attribution"), @@ -1574,41 +1574,41 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, verbose_name=_("Reference container"), blank=True, null=True, related_name='finds_ref', on_delete=models.SET_NULL) - is_complete = models.NullBooleanField(_(u"Is complete?"), blank=True, + is_complete = models.NullBooleanField(_("Is complete?"), blank=True, null=True) object_types = models.ManyToManyField( - ObjectType, verbose_name=_(u"Object types"), related_name='find', + ObjectType, verbose_name=_("Object types"), related_name='find', blank=True ) object_type_quality = models.ForeignKey( ObjectTypeQualityType, - verbose_name=_(u"Object type quality"), related_name='finds', + verbose_name=_("Object type quality"), related_name='finds', on_delete=models.SET_NULL, blank=True, null=True ) integrities = models.ManyToManyField( - IntegrityType, verbose_name=_(u"Integrity / interest"), + IntegrityType, verbose_name=_("Integrity / interest"), related_name='find', blank=True) remarkabilities = models.ManyToManyField( - RemarkabilityType, verbose_name=_(u"Remarkability"), + RemarkabilityType, verbose_name=_("Remarkability"), related_name='find', blank=True) communicabilities = models.ManyToManyField( - CommunicabilityType, verbose_name=_(u"Communicability"), + CommunicabilityType, verbose_name=_("Communicability"), related_name='find', blank=True) min_number_of_individuals = models.IntegerField( - _(u"Minimum number of individuals (MNI)"), blank=True, null=True) - length = models.FloatField(_(u"Length (cm)"), blank=True, null=True) - width = models.FloatField(_(u"Width (cm)"), blank=True, null=True) - height = models.FloatField(_(u"Height (cm)"), blank=True, null=True) - diameter = models.FloatField(_(u"Diameter (cm)"), blank=True, null=True) - circumference = models.FloatField(_(u"Circumference (cm)"), blank=True, + _("Minimum number of individuals (MNI)"), blank=True, null=True) + length = models.FloatField(_("Length (cm)"), blank=True, null=True) + width = models.FloatField(_("Width (cm)"), blank=True, null=True) + height = models.FloatField(_("Height (cm)"), blank=True, null=True) + diameter = models.FloatField(_("Diameter (cm)"), blank=True, null=True) + circumference = models.FloatField(_("Circumference (cm)"), blank=True, null=True) - thickness = models.FloatField(_(u"Thickness (cm)"), blank=True, null=True) + thickness = models.FloatField(_("Thickness (cm)"), blank=True, null=True) clutter_long_side = models.FloatField( - _(u"Clutter - long side (cm)"), blank=True, null=True) + _("Clutter - long side (cm)"), blank=True, null=True) clutter_short_side = models.FloatField( - _(u"Clutter - short side (cm)"), blank=True, null=True) + _("Clutter - short side (cm)"), blank=True, null=True) clutter_height = models.FloatField( - _(u"Clutter - height (cm)"), blank=True, null=True) + _("Clutter - height (cm)"), blank=True, null=True) dimensions_comment = models.TextField( _("Dimensions comment"), blank=True, default="") mark = models.TextField(_("Mark"), blank=True, default="") @@ -1688,14 +1688,14 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, BASKET_MODEL = FindBasket class Meta: - verbose_name = _(u"Find") - verbose_name_plural = _(u"Finds") + verbose_name = _("Find") + verbose_name_plural = _("Finds") permissions = ( - ("view_find", u"Can view all Finds"), - ("view_own_find", u"Can view own Find"), - ("add_own_find", u"Can add own Find"), - ("change_own_find", u"Can change own Find"), - ("delete_own_find", u"Can delete own Find"), + ("view_find", "Can view all Finds"), + ("view_own_find", "Can view own Find"), + ("add_own_find", "Can add own Find"), + ("change_own_find", "Can change own Find"), + ("delete_own_find", "Can delete own Find"), ) ordering = ('cached_label',) indexes = [ @@ -1863,17 +1863,17 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, (reverse("find-qa-duplicate", args=[self.pk]), _("Duplicate"), "fa fa-clone", "", "", True), (reverse("find-qa-basket", args=[self.pk]), - _(u"Add to basket"), + _("Add to basket"), "fa fa-shopping-basket", "", "", True), (reverse('find-add-treatment', args=[self.pk]), - _(u"Simple treatment"), "fa fa-flask", "", "", False), + _("Simple treatment"), "fa fa-flask", "", "", False), (reverse('find-add-divide-treatment', args=[self.pk]), - _(u"Divide treatment"), "fa fa-scissors", "", "", False), + _("Divide treatment"), "fa fa-scissors", "", "", False), ] if get_current_profile().warehouse: actions.append( (reverse("find-qa-packaging", args=[self.pk]), - _(u"Packaging"), + _("Packaging"), "fa fa-gift", "", "", True) ) return actions @@ -1898,7 +1898,7 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, bf = self.get_first_base_find() if not bf or not bf.context_record or not bf.context_record.operation: return "" - return u"{}-{}".format( + return "{}-{}".format( bf.context_record.operation.get_reference(), self.index) @@ -1913,16 +1913,16 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem, return " - ".join( [bf.context_record.cached_label for bf in self.base_finds.all()] ) - context_records_lbl.short_description = _(u"Context record") + context_records_lbl.short_description = _("Context record") context_records_lbl.admin_order_field = \ "base_finds__context_record__cached_label" def operations_lbl(self): - return u" - ".join( + return " - ".join( [bf.context_record.operation.cached_label for bf in self.base_finds.all()] ) - operations_lbl.short_description = _(u"Operation") + operations_lbl.short_description = _("Operation") operations_lbl.admin_order_field = \ "base_finds__context_record__operation__cached_label" @@ -2768,17 +2768,17 @@ for attr in Find.HISTORICAL_M2M: class Property(LightHistorizedItem): - find = models.ForeignKey(Find, verbose_name=_(u"Find")) + find = models.ForeignKey(Find, verbose_name=_("Find")) administrative_act = models.ForeignKey( - AdministrativeAct, verbose_name=_(u"Administrative act")) - person = models.ForeignKey(Person, verbose_name=_(u"Person"), + AdministrativeAct, verbose_name=_("Administrative act")) + person = models.ForeignKey(Person, verbose_name=_("Person"), related_name='properties') - start_date = models.DateField(_(u"Start date")) - end_date = models.DateField(_(u"End date")) + start_date = models.DateField(_("Start date")) + end_date = models.DateField(_("End date")) class Meta: - verbose_name = _(u"Property") - verbose_name_plural = _(u"Properties") + verbose_name = _("Property") + verbose_name_plural = _("Properties") indexes = [ GinIndex(fields=['data']), ] |