-3

lets say i have something like this

{
    "TestData1": {
        "record_object_data": [
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": true,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        }
    ]
    },
    "TestData2": {
        "record_object_data": [
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": true,
            "layouts": {
                "many": "otherthingsmore"
            }
        }
    ]
    },
    "TestData3": {
        "record_object_data": [
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": true,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        },
        {
            "name": "TestData",
            "label": "TestData",
            "meaning_label": "TestData",
            "standard_layout_name": "standard data",
            "default_record_type_layout": false,
            "layouts": {
                "many": "otherthingsmore"
            }
        }
    ]
    }

}

how can i move or sort the records with "default_record_type_layout": true to become first record in the record_object_data list?

in this list every TestData from 1-3 will have a list of record_object_data which inside will have a default_record_type_layout true/false

i would like to sort record_object_data with default_record_type_layout = true to the first record for every TestData1-3

user1897151
  • 493
  • 2
  • 9
  • 28

1 Answers1

0
for key,val in data.items():
    val["record_object_data"].sort( key=lambda k: not k['default_record_type_layout'] )

We have to use not because False normally sorts before True.

Tim Roberts
  • 48,973
  • 4
  • 21
  • 30