def _get_rate(self, currency, date):
raise NotImplementedError()<EOL>
Get the exchange rate for ``currency`` against ``INTERNAL_CURRENCY``

        You should implement this in any custom backend. For each rate
        you should call :meth:`cache_rate()`.

        Normally you will only need to call :meth:`cache_rate()` once. However, some
        services provide multiple exchange rates in a single response,
        in which it will likely be expedient to cache them all.

        .. important::

            Not calling :meth:`cache_rate()` will result in your backend service being called for
            every currency conversion. This could be very slow and may result in your
            software being rate limited (or, if you pay for your exchange rates, you may
            get a big bill).