Skip to content

nitz14/SimpleHistoryDiffMixin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

###HOW TO USE

add requirements to your project.

in models.py add import:

    from utils.mixins import SimpleHistoryDiffMixin

add single inheritance:

    class User(models.Model, SimpleHistoryDiffMixin):

add fields that you want to ignore:

    diff_ignore_keys = ['name', 'email']

and use in code e.g. in viewset:

    class UserHistoryViewSet(viewsets.ReadOnlyModelViewSet):
        authentication_classes = (SessionAuthentication, TokenAuthentication, )
        permission_classes = (IsAuthenticated, )
        queryset = HistoricalUser.objects.all()
        filter_backends = (filters.DjangoFilterBackend, filters.OrderingFilter)
        filter_fields = ('id', )
        serializer_class = UserHistorySerializer

        def get_queryset(self):
            user = User.objects.get(pk=self.request.query_params.get('id'))
            return self.queryset.filter(pk__in=[hr.pk for hr in user.diff_with_all()])

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages