D-PLACE/dplace-legacy

Duplicated json objects

Closed this issue · 1 comments

Some of the API views (e.g. https://d-place.org/api/v1/language_trees/?page=3) have a lot of duplicated data which is wasting bandwidth and database queries, e.g.

   "results": [
        {
            "id": 1,
            "name": "Cochimi-Yuman.glotto.trees",
            "taxa": [
                {
                    "id": 1,
                    "languageTree": 1,
                    "label": "coco1261",
                    "language": 371,
                    "societies": [
                        {
                            "society": {
                                "id": 435,
                                "ext_id": "J143",
                                "name": "Cocopa"
                            },
                            "labels": "coco1261",
                            "fixed_order": 0
                        },
                        {
                            "society": {
                                "id": 434,
                                "ext_id": "Nh19",
                                "name": "Cocopa"
                            },
                            "labels": "coco1261",
                            "fixed_order": 0
                        }
                    ]
                },
                {
                    "id": 1,
                    "languageTree": 1,
                    "label": "coco1261",
                    "language": 371,
                    "societies": [
                        {
                            "society": {
                                "id": 435,
                                "ext_id": "J143",
                                "name": "Cocopa"
                            },
                            "labels": "coco1261",
                            "fixed_order": 0
                        },
                        {
                            "society": {
                                "id": 434,
                                "ext_id": "Nh19",
                                "name": "Cocopa"
                            },
                            "labels": "coco1261",
                            "fixed_order": 0
                        }
                    ]
                },
                {

Note the duplicate id=1 blocks, one with society names, one without.

Closing.