def _format_records(self, queryset):
attributes = self._get_attributes()
attr_fields = [x['field'] for x in attributes['fields']]
related_fields = self._get_related_fields()
json_data = serializers.serialize('json', queryset)
records = json.loads(json_data)
data = []
for index, rec in enumerate(records):
rec['fields']['id'] = rec['pk']
for field in attr_fields:
if field not in rec['fields']:
rec['fields'][field] = []
for field in related_fields:
rel_obj = getattr(queryset[index], field)
ser_rel_obj = serializers.serialize('json', [rel_obj,])
rel_data = json.loads(ser_rel_obj)[0]
rel_data['fields']['id'] = rel_data['pk']
rec['fields'][field] = rel_data['fields']
data.append(rec['fields'])
return data
评论列表
文章目录