Почему удаление UUIDField приводит к ошибке Django SystemCheckError

Я создавал сайт на Django и включил UUID-поле "customer_id" в свою начальную модель "Customer". Наконец, я решил удалить его. Но когда я пытаюсь удалить его из моего models.py, Django бросает

SystemCheckError: System check identified some issues:

ERRORS:
<class 'accounts.admin.CustomerAdmin'>: (admin.E035) The value of 'readonly_fields[1]' is not a callable, an attribute of 'CustomerAdmin', or an attribute of 'accounts.Customer'.

Вот код models.py

    from django.db import models
    import uuid
    
    # Create a base model to make sure we keep track of creation and edits
    class ModelBaseClass(models.Model):
        date_created = models.DateTimeField(auto_now_add=True, null=True)
        date_modified = models.DateTimeField(auto_now=True, null=True)
    
        class Meta:
            abstract = True
    
    # Create your models here.
    class Customer(ModelBaseClass):
        customer_id = models.UUIDField(default=uuid.uuid4, #this is the field i try to drop
                                   editable=False, 
                                   unique=True)
        name = models.CharField(max_length=200, null=True)
        email = models.CharField(max_length=200, null=True)
            
        def __str__(self):
            return self.name

Что я пробовал до сих пор:

Я подозреваю, что это может быть связано с существующими данными или какими-то другими зависимостями. Итак...

  1. I deleted the sqlite database, deleted all migration files and ran "python manage.py makemigrations" and "python manage.py migrate".
  2. I ran python manage.py flush.
  3. I also tried to change the editable=False to editable=True and migrate before dropping, but it didn't change anything.

Возможно, также стоит упомянуть, что моя модель "Customer" имеет отношение к другой модели.

Может кто-нибудь объяснить мне, почему Django не дает мне удалить это поле и как это решить?

Спасибо! :)

Может кто-нибудь объяснить мне, что происходит и как это решить?

Как говорит ошибка, у вас есть модель администратора с именем CustomerAdmin. Действительно:

<class 'accounts.admin.CustomerAdmin'>: (admin.E035) The value of 'readonly_fields[1]' is not a callable, an attribute of 'CustomerAdmin', or an attribute of 'accounts.Customer'.

Для readonly_fields он перечисляет customer_id, но поскольку это поле больше не доступно, он выдает ошибку.

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