Итак, моя проблема заключается в следующем.У меня есть устаревшая база данных MySQL, над которой я создаю блестящее новое приложение Django.По какой-то причине были приняты некоторые довольно глупые проектные решения - например, все поля, независимо от того, что они содержат, хранятся как архивные файлы - но поскольку другие системы, которые я не переписываю, зависят от тех же данных, я не могу разрушительно изменить их.эта схема вообще.
Я хочу трактовать определенное поле - количество на складе - как целое число, чтобы в моем шаблоне я мог проверить его количество и отобразить соответствующее значение (в основном, если естьдоступно более 100 позиций, я хочу просто отобразить «100+ Доступно»).
Существующее значение для количества запаса хранится как, как ни странно, varchar, удерживающий поплавок (как будто возможно иметь дробные суммытовара на складе):
item.qty: u"72.0"
Теперь я считаю, что в худшем случае я могу использовать QuerySet.values () и перебирать результаты, заменяя каждое количество запаса на проанализированную версию int ().о себе.Что-то вроде ...
item_list = items.values()
for item in item_list:
item['qty'] = int(float(item['qty']))
... но разве это не заставит мой QuerySet полностью оценить себя?Признаюсь, что я совершенно не осведомлен о процессе, с помощью которого Django обрабатывает ленивое выполнение запросов, но похоже, что работа с реальными значениями будет означать оценку запроса до того, как он потребуется.
Итак, я жалуюсь ни на что (Я имею в виду, что он определенно оценивает эти значения в шаблоне в любом случае), или есть лучший способ сделать то, что мне нужно сделать?