def initial(self, request, *args, **kwargs):
        """
        Custom initial method:
            * ensure interface exists and store it in an instance attribute
            * change queryset to return only devices of current node
        """
        super(InterfaceIpList, self).initial(request, *args, **kwargs)

        # ensure interface exists
        try:
            self.interface = Interface.objects.accessible_to(request.user)\
                        .get(pk=self.kwargs.get('pk', None))
        except Interface.DoesNotExist:
            raise Http404(_('Interface not found.'))

        # check permissions on interface (for interface creation)
        self.check_object_permissions(request, self.interface)

        # return only interfaces of current interface
        self.queryset = self.model.objects.filter(interface_id=self.interface.id)\
                        .accessible_to(self.request.user)
Custom initial method:
            * ensure interface exists and store it in an instance attribute
            * change queryset to return only devices of current node