我想從應用程序中記錄所有數據庫更改,而不僅僅是從django-admin登錄。我怎麼能做到這一點?目前,我們只能通過管理界面查看django admin中的歷史記錄。我需要爲此定義信號嗎?如何從應用程序中記錄我的所有數據庫更改,而不僅僅是從django-admin登錄。
0
A
回答
0
有兩種類型的變化可能。
如果您關心的是數據庫中的結構更改,它們總是保存在您的應用程序目錄中的migrations
文件夾中。
如果要根據數據庫中的條目記錄數據庫更改,可能會發現python包django-audit-log
有用。您可以通過PIP進行安裝,安裝後,你可以通過做這樣的事情添加跟蹤到您的機型:
from audit_log.models.managers import AuditLog
class YourModelName(models.Model):
#your model definition here
audit_log = AuditLog()
你可以找到的文檔here
另一種方法是django-reversion它允許你這樣做模型實例的版本控制。
希望這會有所幫助!
1
在settings.py中,我們必須啓用日誌記錄。把這個代碼在你的settings.py
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'level': 'DEBUG', 'propagate': True, }, }, }
Django的文檔記錄 - https://docs.djangoproject.com/en/1.11/topics/logging/#django-db-backends
相關問題
- 1. 更新EFsms數據時修改所有記錄,而不僅僅是所選記錄
- 2. Rails返回所有對話記錄,而不僅僅是相關的記錄。
- 3. PHP:處理記錄對象,而不僅僅是一條記錄
- 4. 檢索Google Map的所有標記(不僅僅是當前登錄的用戶)
- 5. 與Npgsql的如何.netCore登錄到架構不僅僅是數據庫
- 6. 哨兵 - 如何僅記錄異常,而不是記錄器
- 7. 僅記錄異常而不是所有種類的日誌
- 8. 數據庫應用程序。將數據添加到登錄用戶僅對登錄的用戶可見
- 9. 僅嗅探/記錄應用程序層
- 10. 僅過濾登錄用戶的記錄?
- 11. 僅在登錄過程中連接不同的數據庫
- 12. 如何僅顯示從數據庫登錄用戶數據而不顯示其他數據?
- 13. 從Android應用程序登錄MySQL數據庫不成功
- 14. 顯示數據庫表中的所有記錄,而不是單個記錄
- 15. 爲什麼所有記錄都被刪除,而不僅僅是一個?
- 16. .NET Web應用程序 - 如何查找登錄用戶的數據庫記錄?
- 17. 由於更改而更新數據庫中的現有記錄?
- 18. 從數據庫登錄的Android應用程序
- 19. 從數據庫的所有表中刪除所有記錄
- 20. 如何顯示來自JSON結果的所有子記錄不僅僅是最後一條記錄
- 21. GMSCoordinateBounds返回所有標記而不是僅僅可見標記
- 22. 如何「git登錄」整個存儲庫,而不僅僅是你所在的分支?
- 23. 如何從ASP.net MVC應用程序記錄所有異常
- 24. Django日誌記錄僅適用於我的應用程序
- 25. 如何登錄應用程序數據?
- 26. CodeIgniter活動記錄返回Mysql數據類型而不僅僅是字符串
- 27. 使用ActiveRecord,我如何從只有一個關聯記錄的數據庫中獲取所有記錄?
- 28. 數據庫應用所有以前的遷移更新,而不僅僅是新的遷移
- 29. 如何從應用程序登錄按鈕登錄Facebook?
- 30. 如何跟蹤IIS應用程序中的數據庫登錄?
我自定義的要求是還記錄多對多領域的變化。我不認爲這兩個都可以。 –
你其實可以。轉到此[鏈接](http://django-auditlog.readthedocs.io/en/latest/usage.html#many-to-many-relationships) –