Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 6, 2009 00:53:17

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

интроспекция модели

Hi.
Посоветуйте как можно “добраться” до полей модели, используя интроспекцию. То есть, я хочу для какой либо модели, определенной в models.py узнать какие поля у ней есть и какого типа эти поля.
Для решения пока что нашел только такой вариант:

ipython

 
s= Mymodel._meta.get_field
print s
но вывод такой:

<bound method Options.get_field of <Options for UserProfile>>

Вопрос:
1) что за метод Options?
2) какие есть способы собрать информацию о именах полей и их типов в например словарь или список?

спасибо

Офлайн

#2 Янв. 6, 2009 02:23:37

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

интроспекция модели

стандартный модуль inspect
Будет более правильно заданый вопрос - можно ответить и более развернуто



Офлайн

#3 Янв. 6, 2009 03:17:33

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

интроспекция модели

for f in Mymodel._meta.fields:
print f.name, repr(f.verbose_name), f.__class__
это?



Отредактировано (Янв. 6, 2009 03:28:14)

Офлайн

#4 Янв. 6, 2009 10:15:29

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

интроспекция модели

poltergeist
for f in Mymodel._meta.fields:
print f.name, repr(f.verbose_name), f.__class__
это?
Да

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version