Как создать UUIDField в Django, который не требует предоставления развлечения по умолчанию c, вместо этого возвращает UUID, сгенерированный БД? - PullRequest
0 голосов
/ 04 августа 2020

В настоящее время лучший ответ для Как Django UUIDField генерирует UUID в Postgresql? говорит

Когда вы используете UUIDField в качестве первичного ключа в Django, он не генерирует для вас UUID, вы генерируете его самостоятельно перед сохранением объекта

Но я думаю, что возможно взломать решение, которое позволяет использовать на основе БД Генерация UUID.

После того, как вы установили uuid-ossp расширение в postgres

CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

, я думаю, что оно должно работать более или менее как AutoField.

Если для создания таблицы использовался необработанный sql

CREATE TABLE example(
   id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
);

, тогда необработанная вставка вернет новый случайный UUID в качестве поля идентификатора.

Как можно go о создании пользовательский Field, поэтому это исходное решение работает с Django ORM?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...