Django Background Tasks Installation & Migration

* 注意以下是使用延續開發的 Django-Background-Tasks 而不是舊版的 Django-Background-Task

Installation 按照 Django-Background-Tasks GitHub 上的說明就沒問題, 但是要注意的是說明中沒有提到 DB Migration 的步驟, 可能這是常識了 ?

如果沒做 DB Migration 的話, 直接嘗試寫 example code 執行會出現類似以下的錯誤訊息:

"django.db.utils.OperationalError: no such table: background_task"

也就是 DB 中找不到 background_task table

這時候回頭去做 makemigrations 會發現...

還是出現了 "django.db.utils.OperationalError: no such table: background_task"  !!!

這個原因與 stackoverflow 上可以查到的 不相同, 該例子是使用 makemigrations background_task 指定要變動的 package 就可以解決.

真正的原因出在 example code 撰寫中可能牽涉到的調用  background_task table 的部分. 在我的例子中, 是 example code 在 views.py 中加入了 import MyApp.routine_tasks  ( routine_tasks.py 是我用來放預計要背景執行的工作 ), 而  routine_tasks.py 中又有 from background_task import background , 所以就出現問題了~

結論: 進行 makemigration 要在加入了相關 code 之前進行

1. Install & set settings.py
2. do makemigrations & migrate before add any example code
3. add example code 


0 意見:

Designed by Posicionamiento Web | Modified by seLain | Bloggerized by GosuBlogger | Blue Business Blogger