Django Генерация пользовательского идентификатора

Итак, я видел множество "ответов" на этот вопрос, в частности, вот этот.

from django.db.models import Max


id = models.CharField(primary_key=True, editable= False, max_length=10)
    def save(self, **kwargs):
        if not self.id:
            max= Custom.objects.aggregate(id_max=Max('id'))['id_max']
            self.id= "{}{:05d}".format('IT-', max if max is not None else 1)
        super().save(*kwargs)

Теперь, благодаря этому, я действительно просто применяю код к своей модели, и он должен работать. Но это не так. Он хочет, но не может, позвольте мне объяснить: на бэкенде приложения django я попытался добавить новую строку, но при сохранении она выбрасывает OperationalError, (1366, "Incorrect integer value: 'IT-00002' for column id), (мой префикс 'IT-'). Теперь, насколько я могу понять, префикс включается, да, но столбец не меняется с целого числа. Я сохранил, перенес все изменения, но это не работает. Я даже пытался изменить тип данных в phpmyadmin, но поскольку он также имеет свойство 'AUTO_INCREMENT', он не может быть изменен ни на что, кроме целого числа. Как я могу это изменить?

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