django-eav2/eav/logic/object_pk.py

19 lines
631 B
Python

import uuid
from functools import partial
from django.db import models
from django.conf import settings
def get_pk_format():
if settings.PRIMARY_KEY_FIELD == "django.db.models.UUIDField":
PrimaryField = partial(
models.UUIDField, primary_key=True, editable=False, default=uuid.uuid4
)
elif settings.PRIMARY_KEY_FIELD == "django.db.models.CharField":
PrimaryField = partial(
models.CharField, primary_key=True, editable=False, max_length=40
)
else:
PrimaryField = partial(models.BigAutoField, primary_key=True, editable=False)
return PrimaryField()