Сериализатор Django для MongoDB некорректно отображает данные
Итак, у меня есть 2 модели, Поток и Шаги. Я хочу, чтобы при отображении потоков отображались и шаги, соответствующие этому потоку, чего не происходит, хотя должно происходить. (Хочу уточнить, что до перехода на Mongo я использовал другую библиотеку для сериализатора и все работало отлично, сейчас нет, и мне нужно именно так)
Модель потока:
class Flow(BaseModel):
class BrowserInstance(Enum):
CHROME = 'chrome'
FIREFOX = 'firefox'
name = StringField()
url = URLField()
browser = StringField(choices=list(item.value for item in BrowserInstance), default=BrowserInstance.CHROME.value)
scheduling = StringField()
next_schedule = DateTimeField(default=timezone.now, null=True)
is_active = BooleanField(default=False)
user = ReferenceField(User, reverse_delete_rule=CASCADE, null=False)
Ступенчатая модель:
class Step(BaseModel):
class Action(Enum):
CLICK = 'click'
TAPPING = 'tapping'
SUBMIT = 'submit'
CLEAR = 'clear'
ENTER = 'enter'
step_number = IntField()
action = StringField(choices=list(item.value for item in Action), default=Action.CLICK.value)
selector_xpath = StringField(max_length=254)
content = StringField(max_length=254, blank=True)
flow = ReferenceField(Flow, reverse_delete_rule=CASCADE, related_name='steps')
Поэтапный сериализатор
class StepSerializer(DocumentSerializer):
class Meta:
pattern = Step
fields = ('id', 'step_number', 'action', 'selector_xpath', 'content')
FlowSerializer
class FlowSerializer(DocumentSerializer):
steps = StepSerializer(many=True, required=False, allow_null=True)
class Meta:
model = Flow
fields = "__all__"
Когда я выполняю конечную точку get / retrieve, рядом с шагами я получаю значение null (если я его принимаю) и ничего, если нет. Шаги созданы правильно и соответствуют потоку, для которого они были созданы.
В чем может быть проблема? Я пробовал несколько методов, но они не работают
Уточнение: Мне нужен наиболее оптимальный метод, поэтому SerializerMethod / property или to_representation можно отменить, руководитель команды запретил мне эти варианты.