[Fixed]-Reset SQLite database in Django


Delete database and delete migration files (.py and .pyc) in migrations directory of your app (don’t delete __init__.py file). Then run python manage.py makemigrations app and python manage.py migrate.



I had the same issue, using Django 1.10, here is what I did, I deleted the database sqlite file, deleted the pycache folders inside each of the apps, deleted all files inside the migrations folder for each app , except the init.py file, and then ran python manage.py makemigrations and python manage.py migrate. Also note that because you deleted the database you will have to create a new superuser using python manage.py createsuperuser. Hope this helps


For me, just

python manage.py flush

deleted old db contents, so i was able to create records anew in Django 2.1.4.

Don’t forget to create new superuser:

python manage.py createsuperuser


This may help you if you want to clear sqlite3 DB follow these steps.

  1. Delete migrations files except init.py
  2. Delete dbsqlit3 file
  3. Then type python/python3 manage.py migrate
  4. Then make changes in your models
  5. Type python/python3 manage.py makemigrations
  6. Type python/python3 manage.py migrate
  7. Then you have to create new superuser by just typing python/python3 manage.py createsuperuser . you should use new name not old user name


Do not delete your database file!

Its correct to delete migration files and then run flush but deleting sqlite database file is wrong. This worked to me every time. If you are using other database, it will save you a lot of work and preparations.

  1. delete all “.py” and “.pyc” files manually
  2. python manage.py flush
    type “yes” to confirm
  3. python manage.py makemigrations
  4. python manage.py migrate

Leave a comment