2010-09-11 1 views
18

Могу ли я получить тип поля модели из модели queryset в Django?Могу ли я получить тип поля моделей из набора параметров модели в Django?

Например: a является QuerySet b модели и b модель имеет следующие поля:

  • F: CharField
  • г: ForeignKey
  • ч: manytomany

Есть любой способ получить поле g 's type from queryset a? thx.

+0

Почему бы вам нужно тип поля? Не было бы легче проверить результаты и определить тип поля из результата. – Dean

ответ

34

У меня есть ответ:

a.model._meta.get_field('g').get_internal_type() 
+1

Я новичок в python, но думал, что главное подчеркивание означает «не использовать». – TimP

+3

@TimP, как правило, ведущее подчеркивание означает «не использовать». Тем не менее, я собираюсь из чтения вокруг SO, что объект '_meta' стал все более каноническим в Django за последние несколько версий и широко используется внутри Django. Я говорю, продолжайте использовать его, но обязательно выполняйте свои тесты (вы пишете модульные тесты, верно?) При обновлении версий Django. Но в целом вы правы, избегайте использования символов _single_leading_underscore из сторонних библиотек в Python. – wkschwartz

Смежные вопросы