Вложенные отношения трясогузка API - PullRequest
0 голосов
/ 07 мая 2018

У меня есть следующая структура данных:

{"related_cases": [
    {
        "type": "related_case_block",
        "value": {
            "case": 13,
            "short_text": "Case 2 is related!"
        },
        "id": "3aec5efe-55dc-441f-aa5c-fbbb801d237a"
    }
]}

Связанные случаи - это поле потока с блоками внутри. Каждый блок содержит ссылку на другую страницу дела. В данном случае это 13.

Я хотел бы включить в ответ некоторые поля из этого случая, например:

 {"related_cases": [
    {
        "type": "related_case_block",
        "value": {
            "case": {
                "id": 13,
                "title": "Case 2"
            },
            "short_text": "Case 2 is related!"
        },
        "id": "3aec5efe-55dc-441f-aa5c-fbbb801d237a"
    }
]}

Может кто-нибудь объяснить, как мне это сделать?

1 Ответ

0 голосов
/ 08 мая 2018

Предполагая, что вы определили related_case_block как подкласс StructBlock, вы можете переопределить метод get_api_representation для этого класса:

class RelatedCaseBlock(blocks.StructBlock):
    # ...
    def get_api_representation(self, value, context=None):
        return {
            'case': {
                'id': value['case'].id
                'title': value['case'].title
            },
            'short_text': value['short_text']
        }
...