Sobes.tech
Back to questions
Junior — Middle
63

Как осуществляется получение полного перечня всех моделей в библиотеке Ormar?

Companies where asked
Страна Девелопмент

Answer from 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 не предоставляет встроенного метода для автоматического получения всех моделей, поэтому обычно их собирают вручную или через рефлексию по модулю, где они определены.