Как мне получить доступ к дочерним классам объекта в 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

2022-10-08T18:09:32+00:00