Вы должны устранить неполадки, используя цикл for и выяснить, где проблема!
Я перебрал объект User
и обнаружил, что ему не нравится getattr(user, '_base_manager')
или getattr(user, 'objects')
Вам нужны только поля или весь код Python, связанный с объектом пользователя?
Если вы просто хотите, чтобы поля определялись в models.py:
for field in user._Meta.fields:
print '%s: %s' % (field.name, field.value_to_string(user))
если вы хотите всю магию, которую делает режиссёр
Просто сделайте нормальный цикл. Постижения списков не поймают исключения легче.
for attr in dir(user):
try:
print '%s: %s' % (attr, getattr(user, attr))
except Exception, e:
print '%s: %s' % (attr, e)
Если вы любите свой список понимания так много
def no_exception_getattr(user, attr):
try:
return getattr(user, attr)
except Exception, e:
return e
''.join(['%s: %s' % (x, no_exception_getattr(user, x)) for x in dir(user)])