![](/img/trans.png)
[英]django.db.utils.OperationalError: no such table: theblog_category
[英]django.db.utils.OperationalError: no such table: blog_category
當我嘗試運行python3 manage.py makemigrations
和python3 manage.py migrate
時,我不斷收到錯誤消息
我檢查了很多帖子,他們都說要運行python3 manage.py makemigrations
和 python3 manage.py migrate
甚至是python3 manage.py migrate --run-syncdb
但問題是當我運行這些時我得到了這個錯誤命令以及當我運行python3 manage.py runserver
時:
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: blog_category
另一個問題是我沒有任何代碼說blog_category
所以我什至不知道 django 是從哪里得到的。 我嘗試了不同的 venv 來查看其他已安裝的程序是否有問題,但錯誤仍然存在。 請幫忙。
我也有這個問題。 即使在手動刪除遷移后,我也無法進行新的遷移。 我注意到我的 db.sqlite3 文件在從 github 分叉我的項目后變成了一個文本文件。
以下是您可以執行的操作:
這不是應該的。 解決此類問題的方法是從另一個項目復制 db.sqlite3 文件(否則它將繼續生成錯誤的文件)。 然后對 admin.py 或 models.py 進行一些更改,以便數據庫意識到它需要做一些事情(進行遷移),然后幸運的是 - 您現在應該能夠進行遷移(python manage.py makemigrations)。
如果以上不提供解決方案,您可以通過以下方式完全重置數據庫:
python manage.py flush
再次創建超級用戶並進行任何必要的遷移:
python manage.py createsuperuser
python manage.py makemigrations
python manage.py migrate
確保您的項目中沒有活動代碼會嘗試從不再存在的數據庫表中查詢數據也很重要。 意識到您現在有一個空數據庫。
如果我在項目中運行的代碼會嘗試從過去曾經存在的數據庫 object 中檢索數據,例如:
p = Category.objects.get(title=flower_type)
print(p.flower_set.first())
print(p.flower_set.last())
這會導致問題,因為沒有數據庫條目,也沒有要查詢的數據。 這是需要注意的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.