Managers¶
Access¶
The following methods are added to the default Access manager:
-
class
audit_tools.audit.managers.
AccessQuerySet
(document, collection)[source]¶ Custom manager for Access.
-
filter_by_exception
(*args, **kwargs)[source]¶ Filter object by exception.
Parameters: kwargs – exc kwarg required. Returns: QuerySet
-
filter_by_url
(*args, **kwargs)[source]¶ Filtered queryset by url. Url accept all modifiers, including __regex.
Parameters: kwargs – url kwarg required. Returns: QuerySet
-
filter_by_view
(*args, **kwargs)[source]¶ Filtered queryset by view object or function.
Parameters: kwargs – fview kwarg required. Returns: QuerySet
-
get_by_exception
(*args, **kwargs)[source]¶ Get object by exception.
Parameters: kwargs – exc kwarg required. Returns: Access
-
Examples:
# URL /
Access.objects.filter_by_url(url='/')
# Filter URLs using regular expression
Access.objects.filter_by_url(url=r'^/polls/\w*$')
# Accesses to /polls/ done by user with id 23
Access.objects.filter_by_url(url='/polls/', user__id=23)
# Accesses to poll's index
from polls.views import index
Access.objects.filter_by_view(fview=index)
# Accesses that raises an AttributeError exception
Access.objects.filter_by_exception(exc=AttributeError)
ModelAction¶
The following methods are added to the default ModelAction manager:
-
class
audit_tools.audit.managers.
ModelActionQuerySet
(document, collection)[source]¶ Custom manager for ModelAction.
-
filter_by_instance
(*args, **kwargs)[source]¶ Filtered queryset by object instance.
Parameters: kwargs – obj kwarg required. Returns: QuerySet
-
filter_by_model
(*args, **kwargs)[source]¶ Filtered queryset by model.
Parameters: kwargs – klass kwarg required. Returns: QuerySet
-
filter_by_model_list
(*args, **kwargs)[source]¶ Filtered queryset by model list.
Parameters: kwargs – klass kwarg required. Returns: QuerySet
-
get_by_instance
(*args, **kwargs)[source]¶ Get object by instance.
Parameters: kwargs – obj kwarg required. Returns: ModelAction
-
Examples:
# Actions done over all polls
from polls.models import Poll
ModelAction.objects.filter_by_model(klass=Poll)
# Actions done over a single poll
poll = Poll.objects.get(id=1)
ModelAction.objects.filter_by_instance(obj=poll)
# Actions done over all polls and users
from django.contrib.auth.models import User
ModelAction.objects.filter_by_model_list(klass=[Poll, User])