用于存储和访问有关django项目中对象更改的信息的实用程序。
django-changes的Python项目详细描述
一个实用程序,用于存储和访问有关django中对象更改的信息 项目。
安装
pip install django-changes
添加到python路径或setup.py install并将'changes'添加到 INSTALLED_APPS设置。
用法
您可以通过导入助手来使用:
from changes import changes # ... changes.add_change(someobj, who=request.user)
或者直接使用对象:
from changes.models import Change # ... Change.objects.add_change_for_object(someobj, why='Because')
要获取为对象添加的更改的查询集:
changes.get_changes_for(someobj)
或:
Change.objects.get_changes_for_object(someobj)
要获取用户所做更改的查询集:
changes.get_changes_by(someuser)
或:
Change.objects.get_changes_by_user(someuser)
您也可以这样做:
Change.objects.all().by_user(someuser) changes.get_changes_for(someobj).anonymous()
包含了你期望记录的模型的“混音”。 在很多方面,这会给你相反的关系changes:
from changes.models import ChangesMixin # ... class SomeModel(ChangesMixin, models.Model)<混血儿>将给你一些有用的方法:
somemodelinstance.add_change(why='Time for change') somemodelinstance.get_changes()
保存时也可以添加更改:
somemodelinstance.save(changed=True, who=someuser, why='Changing')
默认行为是不保存更改:
somemodelinstance.save()
混合器也省略了一个信号,{TT6}$,当添加了一个更改时 反对。
更多信息请参见源代码。