Здравствуйте, neFormal, Вы писали:
F>столкнулся с такой интересностью в django:
F>F>class UserInfo(models.Model):
F> birthday = models.DateField('birthday date')
F>
F>вроде обычный класс.. наследуется от кого то, содержит какой то мембер..
F>но dir(UserInfo) этот мембер не показывает, появляется он только у экземпляра класса после инстанцирования..
F>как можно получить такое поведение?.
F>в джанге производятся какие то игры с метаклассами (собственно, у models.Model есть __metaclass__), но в этом я пока не разобрался.. может коллективный разум подскажет?.
Да, метакласс вынимает поля из неймспейса класса и складывает их в специальное место (_meta.fields). Чтобы добиться такого поведения, ммм... надо написать похожий метакласс.