我想跟踪创建的用户,然后更新给定模型的所有记录。我在登录用户的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. Django - 如何更新模型save()方法中的字段?
- 3. 如何从模型实例(或类)访问django模型
- 4. 如何在自定义用户模型中实现“email_user”方法?
- 5. Django模型审计混合
- 6. 已登录用户的单身模型
- 7. Django的用户模型-override,如何使用登录
- 8. 如何访问的Django模型
- 9. Django登录与模型扩展用户
- 10. 如何访问SQLAlchemy到Django模型?
- 11. django我如何访问模型变量?
- 12. Django模型:如何访问“连接表”?
- 13. django-social-auth自定义用户模型和覆盖save()方法
- 14. 在用户模型中访问会话.save()
- 15. 如何重写Django 1.5中用户模型的__unicode__方法
- 16. Django模型:如何从父模型访问子项?
- 17. 我如何在Django中使用的变量在访问模型
- 18. 如何在Django项目的Tastypie中实现登录模块
- 19. 如何使用`attribute_names`方法在rails模型中访问attr_accessor
- 20. Django模型访问
- 21. CakePHP - 无法使用Authcomponent访问模型中登录的用户密码::用户
- 22. 如何在JPA域模型中实现状态设计模式
- 23. DJANGO - 您如何从表单中访问当前模型实例
- 24. Django内置用户模型实现
- 25. Symfony如何实现模型
- 26. 如何访问稍后为Django中的计算实例化的模型?
- 27. 如何从Django模型定义访问用户信息?
- 28. Django:如何访问模板中的模型字段数据
- 29. 如何从Django中的表单模板访问模型
- 30. 两种模型如何访问对方?
这真的很晚但是我写了一篇文章,可能对想要在django中进行模型审计的用户有用:http://spapas.github.io/2015/01/21/django- model-auditing/ – Serafeim 2015-01-22 11:33:13