Схемы PolyModelType Как выбрать правильную модель, если поле-условие размещено уровнем выше

У меня есть следующие модели. Например, как выбрать правильную модель в PolyModel на основе значения «кода», которое поместило уровень вверх в структуру? заранее спасибо

      class _Model1(Model):
    resourceId = StringType()
    resourceType = StringType()

class _Model2(Model):
    description = ModelType(_Model1)

def claim_func(..):
    if code == 1:
        return _Model1
    elif code == 2:
        return _Model2

class TestModel(Model):
    code = IntType(required=True)
    message = StringType(required=True)
    details = PolyModelType([_Model1, _Model2], claim_function=claim_func)

1 ответ

По сути, решение принимается не в поле модели, а в поле данных, как показано в следующем фрагменте кода:

      def claim_func(field, data):
  if 1 == data["code"]:
    return _Model1
  ...
Другие вопросы по тегам