def to_representation()

in experimenter/experimenter/legacy/legacy_experiments/api/v2/serializers.py [0:0]


    def to_representation(self, data):
        data = super().to_representation(data)
        initial_fields = set(self.child.fields) - set(["id"])

        if data == []:
            blank_variant = {}
            control_blank_variant = {}
            for field in initial_fields:
                blank_variant[field] = None
                control_blank_variant[field] = None

            blank_variant["is_control"] = False
            blank_variant["ratio"] = 50
            control_blank_variant["is_control"] = True
            control_blank_variant["ratio"] = 50

            data = [control_blank_variant, blank_variant]

        if "preferences" in initial_fields:
            for variant in data:
                if not variant["preferences"]:
                    variant["preferences"] = [{}]

        control_branch = [b for b in data if b["is_control"]][0]
        treatment_branches = sorted(
            [b for b in data if not b["is_control"]], key=lambda b: b.get("id")
        )

        return [control_branch] + treatment_branches