Мне тут стало любопытно, как получаются значения полей из БД. Раньше я думал, что это реализовано через дескрипторы. То есть каждое поле - объект класса полей, в котором определены методы дескрипторов из которых запрашиваются данные из БД. Но, посмотрев код, я не смог обнаружить ничего похожего. Объясните в общих чертах как это работает?