Схемы 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
...