我有以下数据结构:
{"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"
}
]}
任何人都可以解释我将如何实现这一目标吗?
答案 0 :(得分:2)
假设您已将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']
}