diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-04 19:04:05 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-04 19:04:05 +0200 |
commit | 07ae3337e7fbefac241eb816f3513b267e2dcd72 (patch) | |
tree | c0c99bf70f7df262cd5a76b9b17bcd7dfb84a66c /ishtar_common | |
parent | 35fb017eb816402140317dd9ba78c91f7b68d121 (diff) | |
download | Ishtar-07ae3337e7fbefac241eb816f3513b267e2dcd72.tar.bz2 Ishtar-07ae3337e7fbefac241eb816f3513b267e2dcd72.zip |
Serialization: finds - UUID for finds, base finds and baskets
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models.py | 8 |
1 files changed, 7 insertions, 1 deletions
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): |