
Here’s an error I encountered while migrating a Django project from my PC to Mac. Nothing related to the difference in architecture but as I later learned, the solution was quite simple and comes out of the box in Django.
PROBLEM
OperationalError at /admin/exp/expense/add/
no such table: exp_expense
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/exp/expense/add/
Django Version: 2.2.16
Exception Type: OperationalError
Exception Value:
no such table: exp_expense
Exception Location: D:\apps\anaconda3\lib\site-packages\django\db\backends\sqlite3\base.py in execute, line 383
Python Executable: D:\apps\anaconda3\python.exe
Python Version: 3.8.3
Python Path:
['C:\\Users\\Sukhbinder\\Desktop\\PROJECTS\\exptest\\test_exp',
Solution
(sdh_env) (base) C:\Users\Sukhbinder\Desktop\PROJECTS\exptest\test_exp>python manage.py migrate --run-syncdb
Operations to perform:
Synchronize unmigrated apps: exp, messages, rest_framework, staticfiles
Apply all migrations: admin, auth, contenttypes, sessions
Synchronizing apps without migrations:
Creating tables…
Creating table exp_expense
Running deferred SQL…
Running migrations:
No migrations to apply.
That’s it. Addition of –run_syncdb in the migrate command.
python manage.py migrate --run_syncdb
Have you faced anything similar?