11. Как использовать UUID вместо ID в качестве первичного ключа?

Всякий раз, когда мы создаем новую модель, к ней прикрепляется поле ID. По умолчанию тип данных поля ID будет Integer.

Чтобы сделать поле id в виде UUID, существует новый тип поля UUIDField, который был добавлен в django версии 1.8+.

Пример:

import uuid
from django.db import models

class Event(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    details = models.TextField()
    years_ago = models.PositiveIntegerField()

>>> eventobject = Event.objects.all()
>>> eventobject.first().id
'3cd2b4b0c36f43488a93b3bb72029f46'
Вернуться на верх