Django.db.utils.OperationalError: no such table: accounts_user,

I'm trying to run python manage.py migrate but I get a " django.db.utils.OperationalError: no such table: accounts_user ", I have imported the model in my settings as

AUTH_USER_MODEL = 'accounts.User'

here is my accounts/models.py

from django.db import models
from django.contrib.auth.models import AbstractUser, BaseUserManager, PermissionsMixin
from django.utils import timezone


class UserManager(BaseUserManager):
    def create_user(self, email, password=None, **extra_fields):
        if not email:
            raise ValueError('Users must have an email address')
        email = self.normalize_email(email)
        user = self.model(email=email, **extra_fields)
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_superuser(self, email, password=None, **extra_fields):
        extra_fields.setdefault('is_staff', True)
        extra_fields.setdefault('is_superuser', True)
        return self.create_user(email, password, **extra_fields)



class User(AbstractUser):
    ROLE_CHOICES = [
        ('customer', 'Customer'),
        ('vendor', 'Vendor'),
        ('staff', 'Staff'),
        ('admin', 'Administrator'),
    ]

    username = None

    email = models.EmailField(unique=True)
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    is_active = models.BooleanField(default=False)
    user_role = models.CharField(max_length=20, choices=ROLE_CHOICES, default='customer')
    phone_number = models.CharField(max_length=30, blank=True)
    is_verified = models.BooleanField(default=False)
    created_at = models.DateTimeField(default=timezone.now)
    updated_at = models.DateTimeField(auto_now=True)
    address = models.ForeignKey(
        'orders.ShippingAddress',
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        related_name='default_for_profiles'
    )
    profile_picture = models.ImageField(upload_to='profiles/', blank=True, null=True)
    
    # Birthday  Fields
    birthday = models.DateField(null=True, blank=True)
    birthday_last_updated = models.DateTimeField(null=True, blank=True)
    ip_address_last_seen = models.GenericIPAddressField(null=True, blank=True)
    
    # Terms & Conditions Tracking
    agreed_to_terms = models.BooleanField(default=False)
    agreed_at = models.DateTimeField(null=True, blank=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['first_name', 'last_name']

    objects = UserManager()

    def __str__(self):
        return self.email

and when I ran python manage.py migrate I get an error

traceback

Running migrations:
  Applying accounts.0002_initial...Traceback (most recent call last):
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 103, in _execute
    return self.cursor.execute(sql)
           ~~~~~~~~~~~~~~~~~~~^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\sqlite3\base.py", line 356, in execute
    return super().execute(query)
           ~~~~~~~~~~~~~~~^^^^^^^
sqlite3.OperationalError: no such table: accounts_user

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\USER\desktop\jewellery_store\backend\manage.py", line 22, in <module>
    main()
    ~~~~^^
  File "C:\Users\USER\desktop\jewellery_store\backend\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\base.py", line 420, in run_from_argv
    self.execute(*args, **cmd_options)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\base.py", line 464, in execute
    output = self.handle(*args, **options)
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\base.py", line 111, in wrapper
    res = handle_func(*args, **kwargs)
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\commands\migrate.py", line 353, in handle
    post_migrate_state = executor.migrate(
        targets,
    ...<3 lines>...
        fake_initial=fake_initial,
    )
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\executor.py", line 135, in migrate
    state = self._migrate_all_forwards(
        state, plan, full_plan, fake=fake, fake_initial=fake_initial
    )
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\executor.py", line 167, in _migrate_all_forwards
    state = self.apply_migration(
        state, migration, fake=fake, fake_initial=fake_initial
    )
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\executor.py", line 255, in apply_migration
    state = migration.apply(state, schema_editor)
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\migration.py", line 132, in apply
    operation.database_forwards(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        self.app_label, schema_editor, old_state, project_state
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\operations\fields.py", line 110, in database_forwards
    schema_editor.add_field(
    ~~~~~~~~~~~~~~~~~~~~~~~^
        from_model,
        ^^^^^^^^^^^
        field,
        ^^^^^^
    )
    ^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\sqlite3\schema.py", line 328, in add_field
    super().add_field(model, field)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\base\schema.py", line 775, in add_field
    self.execute(sql, params or None)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\base\schema.py", line 204, in execute
    cursor.execute(sql, params)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 122, in execute
    return super().execute(sql, params)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 79, in execute
    return self._execute_with_wrappers(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        sql, params, many=False, executor=self._execute
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 92, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 100, in _execute
    with self.db.wrap_database_errors:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 103, in _execute
    return self.cursor.execute(sql)
           ~~~~~~~~~~~~~~~~~~~^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\sqlite3\base.py", line 356, in execute
    return super().execute(query)
           ~~~~~~~~~~~~~~~^^^^^^^
django.db.utils.OperationalError: no such table: accounts_user
(.venv) PS C:\Users\USER\desktop\jewellery_store\backend> python manage.py makemigrations accounts
No changes detected in app 'accounts'
(.venv) PS C:\Users\USER\desktop\jewellery_store\backend> python manage.py migrate
Operations to perform:
  Apply all migrations: accounts, admin, auth, cart, contenttypes, dashboard, logistics, notifications, orders, payment, products, reviews, sessions, vendors, wishlist
Running migrations:
  Applying accounts.0002_initial...Traceback (most recent call last):
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 103, in _execute
    return self.cursor.execute(sql)
           ~~~~~~~~~~~~~~~~~~~^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\sqlite3\base.py", line 356, in execute
    return super().execute(query)
           ~~~~~~~~~~~~~~~^^^^^^^
sqlite3.OperationalError: no such table: accounts_user

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\USER\desktop\jewellery_store\backend\manage.py", line 22, in <module>
    main()
    ~~~~^^
  File "C:\Users\USER\desktop\jewellery_store\backend\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\base.py", line 420, in run_from_argv
    self.execute(*args, **cmd_options)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\base.py", line 464, in execute
    output = self.handle(*args, **options)
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\base.py", line 111, in wrapper
    res = handle_func(*args, **kwargs)
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\core\management\commands\migrate.py", line 353, in handle
    post_migrate_state = executor.migrate(
        targets,
    ...<3 lines>...
        fake_initial=fake_initial,
    )
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\executor.py", line 135, in migrate
    state = self._migrate_all_forwards(
        state, plan, full_plan, fake=fake, fake_initial=fake_initial
    )
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\executor.py", line 167, in _migrate_all_forwards
    state = self.apply_migration(
        state, migration, fake=fake, fake_initial=fake_initial
    )
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\executor.py", line 255, in apply_migration
    state = migration.apply(state, schema_editor)
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\migration.py", line 132, in apply
    operation.database_forwards(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        self.app_label, schema_editor, old_state, project_state
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\migrations\operations\fields.py", line 110, in database_forwards
    schema_editor.add_field(
    ~~~~~~~~~~~~~~~~~~~~~~~^
        from_model,
        ^^^^^^^^^^^
        field,
        ^^^^^^
    )
    ^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\sqlite3\schema.py", line 328, in add_field
    super().add_field(model, field)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\base\schema.py", line 775, in add_field
    self.execute(sql, params or None)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\base\schema.py", line 204, in execute
    cursor.execute(sql, params)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 122, in execute
    return super().execute(sql, params)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 79, in execute
    return self._execute_with_wrappers(
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        sql, params, many=False, executor=self._execute
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 92, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 100, in _execute
    with self.db.wrap_database_errors:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\utils.py", line 103, in _execute
    return self.cursor.execute(sql)
           ~~~~~~~~~~~~~~~~~~~^^^^^
  File "C:\Users\USER\desktop\jewellery_store\backend\.venv\Lib\site-packages\django\db\backends\sqlite3\base.py", line 356, in execute
    return super().execute(query)
           ~~~~~~~~~~~~~~~^^^^^^^
django.db.utils.OperationalError: no such table: accounts_user
Вернуться на верх