在模型对象保存时刷新 UUID
Refresh UUID on model object save
所以我有一个模型,我正在使用一个 UUID 字段。我只是想在每次保存模型对象时将 UUID(刷新 UUID)更改为新的 UUID。
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(default=uuid.uuid4, unique=True)
# other fields
def save(self, *args, **kwargs):
//refresh the uuid. what do i do here?
super(MyUUIDModel, self).save(*args, **kwargs)
您必须在保存时调用 uuid.uuid4(),否则您将尝试将函数本身作为字段的值传递给模型。您可以在每次保存实例时生成一个新的 UUID,如下所示:
class MyUUIDModel(models.Model):
id = models.UUIDField(default=uuid.uuid4, unique=True, primary_key=True)
def save(self, *args, **kwargs):
self.id = uuid.uuid4()
super(MyUUIDModel, self).save(*args, **kwargs)
所以我有一个模型,我正在使用一个 UUID 字段。我只是想在每次保存模型对象时将 UUID(刷新 UUID)更改为新的 UUID。
import uuid
from django.db import models
class MyUUIDModel(models.Model):
id = models.UUIDField(default=uuid.uuid4, unique=True)
# other fields
def save(self, *args, **kwargs):
//refresh the uuid. what do i do here?
super(MyUUIDModel, self).save(*args, **kwargs)
您必须在保存时调用 uuid.uuid4(),否则您将尝试将函数本身作为字段的值传递给模型。您可以在每次保存实例时生成一个新的 UUID,如下所示:
class MyUUIDModel(models.Model):
id = models.UUIDField(default=uuid.uuid4, unique=True, primary_key=True)
def save(self, *args, **kwargs):
self.id = uuid.uuid4()
super(MyUUIDModel, self).save(*args, **kwargs)