Why am I getting 'OperationalError at /account/me/ no such table: main_enroll' if I have the table clearly in main/models? [duplicate]

This question is getting flagged as a duplicate, however the other question's problem is very different than mine in that the person did not run migrations.

I have gotten the error 'Operational Error: No Such Table main_enroll' In Django, and I do not understand why as I have defined it properly:

Main/Models.py:

from django.contrib.auth.models import AbstractUser
from django.conf import settings
from django.db import models

class Course(models.Model):
    course_name = models.CharField(max_length=30)
    course_slug = models.CharField(max_length=70)

    # Other course-related fields

    def __str__(self):
        return self.course_name

class Enroll(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    course = models.ForeignKey('main.Course', on_delete=models.CASCADE)

Accounts/Models.py:

from django.contrib.auth.models import AbstractUser


class CustomUser(AbstractUser):
    pass

Screenshot of error: enter image description here

Copy & Paste view of error:

Environment:


Request Method: POST
Request URL: http://127.0.0.1:8000/account/me/

Django Version: 5.0.2
Python Version: 3.11.5
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django_extensions',
 'main',
 'welcome',
 'userprofile',
 'accounts']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback (most recent call last):
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute
    return self.cursor.execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\backends\sqlite3\base.py", line 329, in execute
    return super().execute(query, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The above exception (no such table: main_enroll) was the direct cause of the following exception:
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\skeleton\userprofile\views.py", line 19, in account_page
    Enroll.objects.create(user=user, course=course)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\query.py", line 679, in create
    obj.save(force_insert=True, using=self.db)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\base.py", line 822, in save
    self.save_base(
    ^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\base.py", line 909, in save_base
    updated = self._save_table(
              
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\base.py", line 1067, in _save_table
    results = self._do_insert(
              
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\base.py", line 1108, in _do_insert
    return manager._insert(
           
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\query.py", line 1847, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\models\sql\compiler.py", line 1823, in execute_sql
    cursor.execute(sql, params)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\backends\utils.py", line 122, in execute
    return super().execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\backends\utils.py", line 79, in execute
    return self._execute_with_wrappers(
           
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\backends\utils.py", line 92, in _execute_with_wrappers
    return executor(sql, params, many, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\backends\utils.py", line 100, in _execute
    with self.db.wrap_database_errors:
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\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\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute
    return self.cursor.execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\shaur\BrainBall\Website\venv\Lib\site-packages\django\db\backends\sqlite3\base.py", line 329, in execute
    return super().execute(query, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Exception Type: OperationalError at /account/me/
Exception Value: no such table: main_enroll

What is weird is that I ran migrations and they are up to date, and my admin page shows the 'Enroll' table! enter image description here

As you can see, the enroll class exists in the main.models project, so I do not understand why I am getting an error. I could be overlooking something really small, so thank you for taking the time and patience to help me :D.

Back to Top