2012-03-09 3 views
5

Есть ли веская причина, почему вы не можете добавить пользовательские атрибуты к внутреннему классу Meta модели Django? Единственный, о котором я могу думать, это поймать неправильные конфигурации.Почему внутренний класс Meta модели Django ограничен?

This thread показывает, как это можно обойти, но мне интересно, есть ли другие причины для этого ограничения.

ответ

3

Options, класс, который обрабатывает Meta, а на самом деле добавляет атрибут _meta к модели, проходит через атрибуты Meta в цикле и использует setattr на себя для передачи данных. Этот процесс завершится с ошибкой, если есть атрибут Meta, который не существует на Options.

Теперь могут быть и другие причины, но это единственный, который я могу извлечь из источника.

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