В MS SQL Server существует функция создания вычисленного столбца: столбец таблицы, который вычисляется «на лету» во время поиска. Это более или менее отображение на использование метода в модели Django для получения вычисленного значения (общий пример - получение полного имени на основе сохраненных полей Forename/Surname).Постоянные расчетные поля в Django
Для дорогостоящих операций SQL Server предоставляет опцию Persisted
. Это заполняет столбец таблицы результатами расчета и обновляет эти результаты при обновлении таблицы - очень полезная функция, когда вычисление выполняется не быстро, но не часто изменяется по сравнению с доступом.
Однако в Django я не могу найти способ дублирования этой функции. Мне что-то не хватает? Мое лучшее предположение - это какое-то настраиваемое поле, которое принимает функцию как параметр, но я не мог видеть ранее существовавший из них. Есть ли способ лучше?
Я, по-видимому, идиот. Это отличный способ решения проблемы. Я немного поправлю его, и поймаю в сигналы сохранения, так как мне нужно, чтобы поле было пересчитано на вставки и удаляет (в зависимости от количества записей). Но да, этот подход по сути правильный. – James