Как добавить дополнительное поле при создании экземпляра модели DRF
У меня есть модель классной комнаты в django DRF, которая выглядит следующим образом:
class Classroom(models.Model):
class PublishedClassrooms(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(status="published")
options = (("published", "Published"), ("draft", "Draft"))
name = models.CharField(max_length=255)
code = models.CharField(unique=True, max_length=8)
subject = models.CharField(max_length=255, null=True, blank=True)
section = models.CharField(max_length=255, null=True, blank=True)
description = models.TextField(null=True, blank=True)
status = models.CharField(max_length=10, choices=options, default="draft")
owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, blank=True, null=True)
dateCreated = models.DateTimeField(default=timezone.now)
dateUpdated = models.DateTimeField(default=timezone.now)
objects = models.Manager() # default manager
publishedClassrooms = PublishedClassrooms() # custom manager
class Meta:
ordering = ("-dateUpdated",)
def __str__(self):
return self.name
Я хочу генерировать уникальное поле кода в сериализаторе при создании экземпляра, используя следующий код:
def get_code():
codeID = shortuuid.ShortUUID().random(length=8)
return codeID
Может ли кто-нибудь помочь мне в этом?