我想跟蹤創建的用戶,然後更新給定模型的所有記錄。我在登錄用戶的UserProfile中擁有「用戶」信息(所有用戶必須登錄才能更新這些記錄)。如何實現Django模型審計線索?如何在模型save()方法中訪問已登錄的用戶?
回答
聽起來好像你正在尋找django-reversion,它可以讓你跟蹤給定模型的所有變化,包括一些有關變化的元數據(例如誰做的)。
Django修訂更適合跟蹤模型演變的狀態,似乎無助於跟蹤最後一位用戶修改記錄。 – MikeN 2010-01-05 18:38:44
是的 - 請參閱http://code.google.com/p/django-reversion/wiki/LowLevelAPI – 2010-01-06 06:38:28
Django模型不(有意)可以訪問request
對象。您必須將它傳遞給視圖中的模型。
爲什麼故意不?我現在正在遇到一個案例,我覺得我需要訪問模型中的當前用戶對象。 – ultrajohn 2012-06-11 11:29:34
爲在管理所做的所有更改會自動設置用戶領域,將通過覆蓋在你的管理類的save_model
方法(從Django文檔)的最快方法:
class ArticleAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.user = request.user
obj.save()
否則,你可以使用Dominic Rodger提到的django-revision。
的「版本元數據」部分。這僅適用於管理員。 – MikeN 2010-01-05 18:38:12
- 1. Django:在模型中覆蓋save()方法
- 2. 如何在自定義用戶模型中實現「email_user」方法?
- 3. 已登錄用戶的單身模型
- 4. Django登錄與模型擴展用戶
- 5. Django模型:如何訪問「連接表」?
- 6. 如何訪問SQLAlchemy到Django模型?
- 7. 如何使用`attribute_names`方法在rails模型中訪問attr_accessor
- 8. 如何在JPA域模型中實現狀態設計模式
- 9. DJANGO - 您如何從表單中訪問當前模型實例
- 10. 如何訪問稍後爲Django中的計算實例化的模型?
- 11. 如何從Django模型定義訪問用戶信息?
- 12. 如何從Django中的表單模板訪問模型
- 13. Django:如何訪問模板中的模型字段數據
- 14. 如何在actor模型中實現MVCC
- 15. 如何在MVVM中實現模型
- 16. Laravel:無法從模型中訪問模型中的方法
- 17. 延長在Django用戶模型後,我無法登錄
- 18. 如何從模板訪問表單使用的模型實例?
- 19. 覆蓋使用django-mptt的模型的save()方法
- 20. 如何在模型中的每個字段實現chart.js? Django
- 21. 如何在Django中實現非數據庫支持的模型?
- 22. 如何在Django模型中實現類似字典的字段?
- 23. 如何Django模型
- 24. 訪問登錄的用戶在模板
- 25. 如何分割Django用戶模型/表?
- 26. 如何在django繼承模型中調用正確的方法
- 27. 如何在onclick事件中訪問模型的字段(django)
- 28. 如何在django管理站點中實現像用戶模型一樣的普通模型管理器
- 29. 訪問Django的模型
- 30. 訪問的Django模型
這真的很晚但是我寫了一篇文章,可能對想要在django中進行模型審計的用戶有用:http://spapas.github.io/2015/01/21/django- model-auditing/ – Serafeim 2015-01-22 11:33:13