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

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

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

        # return only interfaces of current device
        self.queryset = self.model.objects.filter(device_id=self.device.id)\
                        .accessible_to(self.request.user)