Как мне получить доступ к дочерним классам объекта в django, не зная имени дочернего класса?
В Python, учитывая класс many-to-many X («нового стиля»), вы можете py получить его (прямые) подклассы python с помощью X.__subclasses__()
, который возвращает django список объектов класса. (Если django вам нужны «дальнейшие потомки», вам python-interpreter также нужно будет вызвать many-to-many __subclasses__
для каждого из прямых подклассов pythonista и т. Д. И т. Д. - если вам many-to-many нужна помощь в том, как сделать python это эффективно в Python, просто pythonic спросите!)
После того, как python-interpreter вы каким-то образом определили django интересующий дочерний класс django (возможно, все они, если pythonic вам нужны экземпляры всех python дочерних подклассов и т. д.), getattr(parentclass,'%s_set' % childclass.__name__)
должен pythonista помочь (если имя дочернего django класса 'foo'
, это просто например, доступ python-shell к parentclass.foo_set
- ни больше ни меньше). Опять python же, если вам нужны пояснения python-shell или примеры, спрашивайте!
python
django
many-to-many
Как мне получить доступ к дочерним классам объекта в django, не зная имени дочернего класса?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.