Sobes.tech
Junior — Middle
103

Jak uzyskać pełną listę wszystkich modeli w bibliotece Ormar?

Firmy, w których zadano pytania
Страна Девелопмент

Odpowiedź od AI

sobes.tech AI

В библиотеке Ormar для получения полного списка всех моделей можно использовать атрибут ormar.ModelMeta.models или хранить модели в отдельном списке при их определении.

Пример, как можно собрать все модели:

import ormar

class BaseMeta(ormar.ModelMeta):
    database = ...
    metadata = ...

class Model1(ormar.Model):
    class Meta(BaseMeta):
        tablename = "model1"
    id = ormar.Integer(primary_key=True)

class Model2(ormar.Model):
    class Meta(BaseMeta):
        tablename = "model2"
    id = ormar.Integer(primary_key=True)

# Список моделей
all_models = [Model1, Model2]

# Или, если нужно динамически, можно использовать introspection по модулю

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