Junior — Senior
51
Определение ближайшего курса валюты по указанной дате
Компании, где спрашивали:
Условие задачи
Необходимо реализовать API‑endpoint, принимающий дату от клиента и возвращающий запись курса валюты, ближайшую к этой дате из таблицы CurrencyRate. Если в базе существует точное совпадение по полю datetime, его следует вернуть; если такого значения нет – выбрать запись с минимальной разницей во времени, независимо от того, находится она раньше или позже запрошенного момента.
class CurrencyRate(models.Model):
rate = models.DecimalField(...)
datetime = models.DateTimeField(...)
+--------+----------------------------+
| rate | datetime |
+--------+----------------------------+
| 34.9 | 1999-05-21 15:44:12.983411 |
| 70.3 | 2022-12-20 08:30:16.123351 |
| 68.1 | 2023-01-09 10:13:30.431559 |
| 68.2 | 2023-01-10 10:00:12.123471 |
+--------+----------------------------+
import datetime as dt
def index(request):
my_dt: dt.datetime = get_dt_from_request(request)
...