Sobes.tech
Junior — Senior
52

Определение ближайшего курса валюты по указанной дате

被问到的公司:

ОстровокОстровок
任务条件

Необходимо реализовать 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)
    ...