Как получить уникальный serial_number для абстрактного базового класса в Django?

У меня есть абстрактная базовая модель и две дочерние модели:

class Component(models.Model):

    serial = models.PositiveIntegerField(unique=True)
    last_modified = models.DateTimeField(auto_now_add=True)

    class Meta:
        abstract = True

class ChildComponentA(Component):
    name = models.CharField(max_length=200, null=True, blank=True)

class ChildComponentB(Component):
    name = models.CharField(max_length=200, null=True, blank=True)

Я хочу, чтобы поле serial было уникальным для всех детей, но это не работает для меня.

Как я могу этого достичь?

Вы можете заменить PositiveIntegerField на AutoField (source) или использовать другой тип уникального поля, например UUIDField, если для вас возможен другой формат.

Вернуться на верх