From 6f6485c8ebf46843209d70bcd4dfb5fb78417c29 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 4 Sep 2019 19:04:05 +0200 Subject: Serialization: finds - UUID for finds, base finds and baskets --- ishtar_common/models.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'ishtar_common') diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 8ee72e7b3..2898c7934 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -41,6 +41,7 @@ from PIL import Image from ooopy.OOoPy import OOoPy from ooopy.Transformer import Transformer as OOTransformer import ooopy.Transforms as OOTransforms +import uuid from django import forms from django.apps import apps @@ -79,7 +80,7 @@ from ishtar_common.alternative_configs import ALTERNATE_CONFIGS, \ from ishtar_common.data_importer import pre_importer_action from ishtar_common.model_managers import SlugModelManager, ExternalIdManager, \ - TypeManager + TypeManager, UUIDModelManager from ishtar_common.model_merging import merge_model_objects from ishtar_common.models_imports import ImporterModel, ImporterType, \ ImporterDefault, ImporterDefaultValues, ImporterColumn, \ @@ -4696,6 +4697,7 @@ class Basket(FullSearch, OwnPerms, ValueGetter, TemplateItem): Subclass must be defined with an "items" ManyToManyField """ IS_BASKET = True + uuid = models.UUIDField(default=uuid.uuid4) label = models.CharField(_("Label"), max_length=1000) comment = models.TextField(_("Comment"), blank=True, null=True) slug = models.SlugField(_("Slug"), blank=True, null=True) @@ -4713,6 +4715,7 @@ class Basket(FullSearch, OwnPerms, ValueGetter, TemplateItem): IshtarUser, verbose_name=_("Shared (read/edit) with"), blank=True, related_name='shared_write_%(class)ss' ) + objects = UUIDModelManager() TABLE_COLS = ['label', 'user'] @@ -4731,6 +4734,9 @@ class Basket(FullSearch, OwnPerms, ValueGetter, TemplateItem): def __str__(self): return self.label + def natural_key(self): + return (self.uuid, ) + @classmethod def BASE_REQUEST(cls, request): if not request.user or not getattr(request.user, 'ishtaruser', None): -- cgit v1.2.3