I tried to create a model with identifier generated from uuid4. But what I want instead of regular uuid, I want identifier has hex uuid format (without "-"). Here is what I tried:
class Model(models.Model):
identifier = models.CharField(max_length=32, primary_key=True, default=uuid.uuid4().hex, editable=False)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
def __str__(self):
return self.identifier
class Meta:
abstract = True
instead of returning unique id every time inherited class instantiated, it returns the same id because of uuid4()
. I tried to change the default value from uuid.uuid4().hex
to uuid.uuid4.hex
but it seems the hex
is not callable from uuid4
directly. So what is the possible way to produce default value for my identifier from uuid with hex format?