Ошибка целостности, возникающая при создании пользовательского идентификатора в модели django
Я попытался создать автоинкрементирующий пользовательский id, используя следующий код в models.py
`
from django.db import models
from phonenumber_field.modelfields import PhoneNumberField
from django.contrib.auth.models import User
from django.db.models import Max
# Create your models here.
status_choice = [("Pending","Pending"),("Fixed","Fixed"),("Not Fixed","Not Fixed")]
class bug(models.Model):
id = models.CharField(primary_key=True, editable=False, max_length=10)
name = models.CharField(max_length=200, blank= False, null= False)
info = models.TextField()
status = models.CharField(max_length=25, choices=status_choice, default="Pending")
fixed_by = models.CharField(verbose_name="Fixed by/Assigned to", max_length=30)
phn_number = PhoneNumberField()
user = models.ForeignKey(User, on_delete= models.CASCADE)
created_at = models.DateTimeField(auto_now_add= True)
updated_at = models.DateTimeField(auto_now= True)
screeenshot = models.ImageField(upload_to='pics')
def save(self, **kwargs):
if not self.id:
max = bug.objects.aggregate(id_max=Max('id'))['id_max']
self.id = "{}{:03d}".format('BUG', int(max[3:]) if int(max[3:]) is not None else 1)
super().save(*kwargs)
При добавлении записи выдается следующая ошибка. IntegrityError at /upload/ нулевое значение в столбце "created_at" нарушает ограничение not-null ПОДРОБНАЯ ИНФОРМАЦИЯ: Неудачная строка содержит (BUG009, test21, Fixed, test21, +91999999999999, 1, null, 2022-11-18 13:55:09.68181+00, pics/between_operation_02WVLVz.png, test21).
Пробовал генерировать пользовательские для модели, такие как BUG001, BUG002 и т.д. Может ли кто-нибудь дать подходящее решение?