UUIDs в django и mssql

У меня есть схема mssql с расширением django ORM / pymssql. У меня есть несколько классов, созданных с помощью функции inspectdb. Многие первичные ключи в таблицах являются полями UUID / mssql uniqueidentifier, которые ORM проинспектировал как CharFields с длиной 36. Сейчас меня беспокоят возможные дубликаты первичных ключей, так как таблицы растут очень быстро

В таблицах есть ограничение по умолчанию для любого нового первичного ключа на сайте базы данных. Поэтому, по сути, у меня есть два (разных) источника генерации UUID (сервер базы данных и сервер приложений)

Как можно выполнить вставку через ORM из django с высокой производительностью? Спасет ли меня генерация UUID через модуль pythons uuid или мне придется каждый раз запрашивать у базы данных новый UUID перед созданием объекта с помощью django?

Первичный ключ не может быть дублирован, поэтому возникнет исключение "duplicated pk duplicated". Кроме того, вероятность получения дублированного uuid близка к 0, вы получите 3 лотерейных приза, прежде чем получите дублированный uuid.

Вернуться на верх