Skip to main content
https://img.shields.io/pypi/v/django-smalluuid.svg https://img.shields.io/pypi/dm/django-smalluuid.svg https://img.shields.io/github/license/adamcharnock/django-smalluuid.svg https://img.shields.io/travis/adamcharnock/django-smalluuid.svg https://coveralls.io/repos/adamcharnock/django-smalluuid/badge.svg?branch=master

Installation

Installation using pip:

pip install django-smalluuid

Tested on:

  • Django >= 2.2 <= 4.0

  • Python 3.7, 3.8, 3.9, 3.10

Basic Usage

To get started use the SmallUUIDField field in your model definitions:

from django.db import models
from django_smalluuid.models import SmallUUIDField, uuid_default

class ExampleModel(models.Model):
    uuid = SmallUUIDField(default=uuid_default())

The field provides values as instances of SmallUUID (see smalluuid):

>>> obj = ExampleModel.objects.create()

# The initial UUID has been auto-generated by uuid_default()
>>> obj.uuid
SmallUUID('T1q_P6HcQNSyW6tpqJTxww')

# It is still available in the groupex hex form (if needed)
>>> obj.hex_grouped
'4f5abf3f-a1dc-40d4-b25b-ab69a894f1c3'

# Filtering is done on the shortened UUIDs
>>> ExampleModel.objects.filter(uuid='T1q_P6HcQNSyW6tpqJTxww')
[<ExampleModel: ExampleModel object>]

Typed Usage

django-smalluuid also supports the Typed UUID’s as provided by smalluuid. This allows for the object’s type to be stored within the UUID.

Updating the above example:

from django.db import models
from django_smalluuid.models import SmallUUIDField, uuid_typed_default

class TypedExampleModel(models.Model):
    uuid = SmallUUIDField(default=uuid_typed_default(type=42))

Which can be interacted with as follows:

>>> obj = TypedExampleModel.objects.create()
>>> obj.uuid
TypedSmallUUID('qvyk8nzbQfu8zAnTPQweyw')
>>> obj.uuid.type
42

Credits

django-smalluuid is packaged using seed and relies upon smalluuid.

Metadata

Release files for django-smalluuid 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-smalluuid 1.2.1
File Size Uploaded
django-smalluuid-1.2.1.tar.gz 8.8 kB Details

Release files / django-smalluuid-1.2.1.tar.gz

Download URL django-smalluuid-1.2.1.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a84916671992bf3f61987463964b653db7073d48c00bbc7673a47a106681c13c
BLAKE2b-256 checksum
How to use checksums
85265c9bf95f0140461cd350cb9ffae3301f7a3d2409e662579c7c8293d96a76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.7

Release history Release notifications | RSS feed

This release

1.2.1 This release

1 release file

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.3

2 release files

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page