DRF - Поле кода автогенерации не отображается в админке

Я хочу сделать поле автогенерации в моей модели. Я создал его, когда я передаю запрос в post man, он будет автоматически создавать следующий код. Но я хочу показать поле автогенерации кода, когда пользователь добавляет данные в таблицу.

models.py

class GeneralDocumentType(models.Model):
    code = models.CharField(max_length=10, null=False, unique=True)
    name = models.CharField(max_length=100, null=False, unique=True)
    description = models.TextField(blank=True, null=True)

    def __str__(self):
        return self.name

В сериализаторе я написал код для автогенерации только в поле кода(DOC001,DOC002,...) serializers.py

def get_code(model, prefix):
    content = model.objects.all().last()
    last = None
    code_prefix = prefix
    if content:
        a_string = content.code
        split_strings = []
        n = len(prefix)
        for index in range(0, len(a_string), n):
            split_strings.append(a_string[index: index + n])
        last = int(split_strings[1])
    if last is not None:
        suggested = last + 1
    else:
        suggested = 1
    return "{}{:03d}".format(code_prefix, suggested)
class GeneralDocumentTypeSerializer(serializers.ModelSerializer):
    class Meta:
        model = GeneralDocumentType
        fields = ["id", "code", "name", "description"]
        read_only_fields = ['code']

    def create(self, validated_data):
        validated_data["code"] = get_code(GeneralDocumentType, "DOC")
        return GeneralDocumentType.objects.create(**validated_data)

что я сделал не так, Как я могу показать, что поле кода должно быть (DOC003) увеличено, когда пользователь добавляет данные. Как я могу этого добиться???

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