tadej
Янв. 12, 2015 01:06:38
Есть некая модель People. И у нее есть атрибуты: id, name, x, y, z… и еще десяток. Все поля, кроме name имеет тип int.
Берем какой нить обьект people с id=n
Существует ли какой нить метод, что бы:
1. у обьекта people я мог рандомно выбрать произвольное поле
2. циклом пройти по всем полям для анализа содержимого
База MySQL
заранее спасибо
GreyZmeem
Янв. 12, 2015 02:55:37
У _meta есть метод который возвращает список всех полей:
>>> o = MyModel.objects.create(name='Object name', test_field_1='Value 1', test_field_2='Value 2')
>>> for field_name in MyModel._meta.get_all_field_names():
... print('Field {}: {}'.format(field_name, getattr(o, field_name)))
...
Field id: 7
Field name: Object name
Field test_field_1: Value 1
Field test_field_2: Value 2
Field year: None
>>>