Для получения списка классов, которые используют определенный атрибут, можно воспользоваться модулем `inspect`.
Вот пример кода, который позволяет получить список классов, использующих атрибут `DomainModel`:
```python
import inspect
def get_classes_with_attribute(attribute):
classes = []
for name, obj in inspect.getmembers(sys.modules[__name__]):
if inspect.isclass(obj) and hasattr(obj, attribute):
classes.append(obj)
return classes
# Пример использования
class DomainModel:
pass
@DomainModel
class MyClass1:
pass
@DomainModel
class MyClass2:
pass
@DomainModel
class MyClass3:
pass
classes_with_attribute = get_classes_with_attribute('DomainModel')
print(classes_with_attribute)
```
В данном примере используется модуль `inspect`, который позволяет получить список всех объектов, определенных в текущем модуле. В цикле происходит проверка, является ли объект классом и имеет ли он указанный атрибут. Если оба условия выполняются, класс добавляется в список `classes`. В конце примера выводится список классов, использующих атрибут `DomainModel`.